Система команд микроконтроллеров
В семействе 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
№ | Операция | Мнемокод команды | Признаки результата | |||||
H | S | V | N | Z | C | |||
32 |
|
ADIW |
+ | + | + | + | + | |
33 |
|
SBIW |
+ | + | + | + | + | |
d = 24, 26, 28, 30, K = 0 – 63 |
Таблица 4
№ | Операция | Мнемокод команды | № | Операция | Мнемокод команды |
34 |
|
LSD |
35 |
|
STS |
d, r = 0 – 31, k – адрес из адресного пространства SRAM |
Таблица 5
№ | Операция | Мнемокод команды | № | Операция | Мнемокод команды |
36 |
|
LD |
37 |
|
ST |
38 |
|
LD |
39 |
|
ST |
40 |
|
LD |
41 |
|
ST |
42 |
1 2 |
LD |
43 |
1 2 |
ST |
44 |
1
2 |
LD |
45 |
1 2 |
ST |
46 |
1
2 |
LD |
47 |
1 2 |
ST |
48 |
1 2 |
LD |
49 |
1 2 |
ST |
50 |
1 2 |
LD |
51 |
1 2 |
ST |
52 |
1 2 |
LD |
53 |
1 2 |
ST |
54 |
|
LDD |
55 |
|
ST |
56 |
|
LDD |
57 |
|
ST |
58 |
1 2 |
POP |
59 |
1 2 |
PUSH
|
d, r = 0 – 31, q = 0 – 63 |
Таблица 6
№ | Операция | Мнемокод команды | № | Операция | Мнемокод команды |
60 |
|
IN
|
61 |
|
OUT |
d, r = 0 – 31, P = 0 – 63 = $00-$3F |
Таблица 7
№ | Операция | Мнемокод команды |
(Z.15-1) – адрес в FlashROM Z.0 = 0 – мл. байт; Z.0 = 1 – ст. байт |
62 |
|
LPM |
Таблица 8
№ | Операция | Мнемокод команды | № | Операция | Мнемокод команды |
63 |
|
BLD |
64 |
|
BST |
65 |
|
CBI |
66 |
|
SBI |
67 |
|
BCLR |
68 |
|
BSET |
d, r = 0 – 31; P = 0 – 31(!); b = 0 – 7 |
Таблица 9
№ | Операция | Мнемокод команды | № | Операция | Мнемокод команды |
69 |
|
CLI | 70 |
|
SEI |
71 |
|
CLT | 72 |
|
SET |
73 |
|
CLH | 74 |
|
SHE |
75 |
|
CLS | 76 |
|
SES |
77 |
|
CLV | 78 |
Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.),
обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.
Нужна помощь в написании работы?
Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus.
Помогаем в публикации. Правки вносим бесплатно.
Похожие рефераты: |