В семействе AVR система команд у микроконтроллеров разных типов содержат от 89 до 130 команд. У микроконтроллеров типа 2323, 2343, 2313, 4433, 8515 и 8535 в систему команд входят 118 команд. Эту систему команд будем называть базой.
В табл. 2.1 – 2.13 описаны операции, выполняемые по командам базовой системы, и приведены мнемокоды команд, используемые при разработке программы на языке AVR Ассемблера. В таблицах дана сквозная нумерация команд, используемая далее в тексте.
Базовая система команд содержит:
▪ 33 команды регистровых операций, при выполнении которых используются только регистры общего назначения (команды №№ 1-33);
▪ 26 команд с обращением по адресу в адресном пространстве SRAM (команды №№ 34-59);
▪ 2 команды с обращением к регистрам ввода-вывода (команды №№ 60 и 61);
▪ 1 команда с обращением к FlashROM (команда № 62);
▪ 22 команды операций с битами в разрядах регистров общего назначения и регистров ввода-вывода (команды №№ 63-84);
▪ 34 команды управления ходом программы (команды №№ 85-118).
В систему команд микроконтроллеров типа t11, t12, t15, 1200, и t28, у которых нет SRAM, не входят команды с обращением по адресу в адресном пространстве SRAM за исключением команд с мнемокодами LDRd, Z (№ 40) и STZ, Rr (№ 41), по которым производится обращение к регистрам общего назначения и регистрам ввода-вывода с использованием косвенной адресации. В систему команд у этих микроконтроллеров не входят также 2 команды регистровых операций (№№ 32 и 33) и две команды управления ходом программы (№№ 86 и 88). У микроконтроллеров типа 1200 в систему команд не входит также команда с обращением к FlashROM, а у микроконтроллера типа m163, кроме того, с наличием аппаратного умножителя.
Таблица 2
№ | Операция | Мнемокод команды | Признаки результата | |||||||||
H | S | V | N | Z | C | |||||||
1 | $00→Rd ((Rd) (Rd) →Rd) | CKR Rd | 0 | 0 | 0 | 1 | ||||||
2 | (Rd) → Rd((Rd)^( Rd) → Rd) | TST Rd | + | 0 | + | + | ||||||
3 | (Rd) → Rd($FF-( Rd) → Rd) | COM Rd | + | 0 | + | + | 1 | |||||
4 | - (Rd) → Rd($00-( Rd) → Rd) | NEG Rd | + | + | + | + | + | + | ||||
5 | (Rd)+1→ Rd | INC Rd | + | + | + | + | ||||||
6 | (Rd)-1→ Rd | DEC Rd | + | + | + | + | ||||||
7 | 0→( Rd) →C | LSR Rd | + | + | 0 | + | + | |||||
8 | C←( Rd) ←0 | LSL Rd | + | + | + | + | + | + | ||||
9 | C→( Rd) →C | ROR Rd | + | + | + | + | + | |||||
10 | C←( Rd) ←C | ROL Rd | + | + | + | + | + | + | ||||
11 | Rd.7→( Rd.6- Rd.0) →C | ASR Rd | + | + | + | + | + | |||||
12 | Rd.4-7↔ Rd.0-3 | SWAP Rd | ||||||||||
13 | (Rr) → Rd | MOV Rd, Rr | ||||||||||
14 | (Rd)+(Rr) → Rd | ADD Rd, Rr | + | + | + | + | + | + | ||||
15 | (Rd)+(Rr)+C→ Rd | ADC Rd, Rr | + | + | + | + | + | + | ||||
16 | (Rd)-(Rr) → Rd | SUB Rd, Rr | + | + | + | + | + | + | ||||
17 | (Rd)-(Rr)-C→ Rd | SBC Rd, Rr | + | + | + | + | + | + | ||||
18 | (Rd)-(Rr) | CP Rd, Rr | + | + | + | + | + | + | ||||
19 | (Rd)-(Rr)-C | CPC Rd, Rr | + | + | + | + | + | + | ||||
20 | (Rd) ^(Rr) → Rd | AND Rd, Rr | + | 0 | + | + | + | |||||
21 | (Rd)˅(Rr) → Rd | OR Rd, Rr | + | 0 | + | + | ||||||
22 | (Rd) (Rr) → Rd | EOR Rd, Rr | + | 0 | + | + | ||||||
d=0-31; r=0-31 | ||||||||||||
Другое по теме:
Проектирование системы оптимального корректирующего устройства В курсовой работе рассматривается замкнутая, одномерная, стационарная, непрерывная, следящая система с частично заданной структурой, то есть большинство ее элементов уже выбраны в соответствии с принятым принципом управления, функциональным наз ...