Система команд микроконтроллеров

Система команд микроконтроллеров


В семействе AVR система команд у микроконтроллеров разных типов содержат от 89 до 130 команд (табл. В1, колонка NK). У микроконтроллеров типа 2323, 2343, 2313, 4433, 8515 и 8535 в систему команд входят 118 команд. Эту систему команд будем называть базовой.

В табл. 1тАФ13 описаны операции, выполняемые по командам базовой системы, и приведены мнемокоды команд, используемые при разработке программы на языке AVR Ассемблера. В таблицах дана сквозная нумерация команд, используемая далее в тексте.

Базовая система команд содержит:

■ 33 команды регистровых операций, при выполнении которых используются только регистры общего назначения (команды №№ 1тАФ33);

■ 26 команд с обращением по адресу в адресном пространстве SRAM (команды №№ 34тАФ59);

■ 2 команды с обращением к регистрам ввода-вывода (команды №№ 60 и 61);

■ 1 команда с обращением к FlashROM (команда № 62);

■ 22 команды операций с битами в разрядах регистров общего назначения и регистров ввода-вывода (команды №№ 63тАФ84);

■ 34 команды управления ходом программы (команды №№ 85тАФ118).

В систему команд микроконтроллеров типа t1l, t12, t15, 1200 и t28, у которых нет SRAM, не входят команды с обращением по адресу в адресном пространстве SRAM за исключением команд с мнемокодами LD Rd, Z (№ 40) и ST Z, Rr (№ 41), по которым производится обращение к регистрам общего назначения и регистрам ввода-вывода с использованием косвенной адресации. В систему команд у этих микроконтроллеров не входят также 2 команды регистровых операций (№№ 32 и 33) и две команды управления ходом программы (№№ 86 и 88). У микроконтроллеров типа 1200 в систему команд не входит также команда с обращением к FlashROM (№ 62).

В систему команд микроконтроллеров типа m163 и m10З входят дополнительные команды. Появление некоторых из них связано с увеличенным объемом FlashROM, а у микроконтроллера типа т163, кроме того, с наличием аппаратного умножителя.

При разработке программы работы микроконтроллера кроме мнемокодов команд используются директивы ассемблера и другие средства ассемблера. Особенности разработки программы на языке AVR Ассемблера фирмы Atmel рассмотрены в приложении П8.

Таблица 1

ОперацияМнемокод командыПризнаки результата
HSVNZC
1

CLR

0001
2

TST

+0++
3

COM

+0++1
4

NEG

++++++
5

INC

++++
6

DEC

++++
7

LSR

++0++
8

LSL

++++++
9

ROR

+++++
10

ROL

++++++
11

ASR

+++++
12

SWAP

13

MOV

14

ADDV

++++++
15

ADC

++++++
16

SUB

++++++
17

SBC

++++++
18

CP

++++++
19

CPC

++++++
20

AND

+0+++
21

OR

+0++
22

EOR

+0++
d = 0 тАУ 31, r = 0 тАУ 31

Таблица 2

ОперацияМнемокод командыПризнаки результата
23

SER

HSVNZC
24

LDI

25

SUBI

++++++
26

SBCI

++++++
27

CPI

++++++
28

ANDI

+0++
29

CBR

+0++
30

ORI

+0++
31

SBR

+0++
d = 16 тАУ 31 (тАШ), K = 0 тАУ 255

Таблица 3

ОперацияМнемокод командыПризнаки результата
HSVNZC
32

ADIW

+++++
33

SBIW

+++++
d = 24, 26, 28, 30, K = 0 тАУ 63

Таблица 4

ОперацияМнемокод командыОперацияМнемокод команды
34

LSD

35GPS-навигация


GPS-прийомник авиационный


IP-телефония и видеосвязь


IP-телефония. Особенности цифровой офисной связи


РЖсторiя диктофону