Смекни!
smekni.com

Система команд микроконтроллеров (стр. 1 из 5)

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


В семействе 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

Операция Мнемокод команды Признаки результата
H S V N Z C
1
CLR
0 0 0 1
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
H S V N Z C
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