Смекни!
smekni.com

Микроконтроллеры семейства AVR фирмы Atmel (стр. 6 из 8)

▪ 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

Таблица 3

Операция Мнемокод команды Признаки результата
H S V N Z C
23 $FF→ Rd SER Rd
24 K→ Rd LDI Rd, K
25 (Rd)-K→ Rd SUBI Rd, K + + + + + +
26 (Rd)-K-C→ Rd SBCI Rd, K + + + + + +
27 (Rd)-K CPI Rd, K + + + + + +
28 (Rd) ^K→ Rd ANDI Rd, K + 0 + +
29
(Rd) ^K→ Rd
CBR Rd, K + 0 + +
30 (Rd) ˅K→ Rd ORI Rd, K + 0 + +
31 (Rd) ˅K→ Rd SBR Rd, K + 0 + +
d=16-31(!); K=0-255

Таблица 4

Операция Мнемокод команды Признаки результата
H S V N Z C
32 (Rd+1, Rd)+K→ Rd+1,Rd ADIWRd, K + + + + +
33 (Rd+1,Rd)-K→ Rd+1,Rd SBIW Rd, K + + + + +
d=24, 26, 28,30; K=0-63

6.2 Система команд

Таблица 5

Операция Мнемокод команды Операция Мнемокод команды
34 (Ячk) → Rd LDS Rd, K 35 (Rr) →Ячk STS k, Rr
d, r=0-31; k – адрес из адресного пространства SRAM

Таблица 6

Операция Мнемокод команды Операция Мнемокод команды
36 (Яч(X)) → Rd LD Rd, X 37 (Rr) →Яч(X) ST X, Rr
38 (Яч(Y)) → Rd LD Rd, Y 39 (Rr) →Яч(Y) ST Y, Rr
40 (Яч(Z)) → Rd LD Rd, Z 41 (Rr) →Яч(Z) ST Z, Rr
42 1.(Яч(X)) → Rd2. (X)+1→X LD Rd, X+ 43 1.(Rr)→Яч(X) 2.(X)+1→X ST X+, Rr
44 1.(Яч(Y)) → Rd2. (Y)+1→Y LD Rd, Y+ 45 1.(Rr)→Яч(Y) 2.(Y)+1→Y ST Y+, Rr
46 1.(Яч(Z)) → Rd2. (Z)+1→Z LD Rd, Z+ 47 1.(Rr)→Яч(Z) 2.(Z)+1→Z ST Z+, Rr
48 1.(X)-1→X 2. (Яч(X))→ Rd LD Rd, -X 49 1.(X)-1 →X 2.(Rr)→Яч(X) ST -X, Rr
50 1.(Y)-1→Y 2. (Яч(Y))→ Rd LD Rd, -Y 51 1.(Y)-1 →Y 2.(Rr)→Яч(Y) ST -Y, Rr
52 1.(Z)-1→Z 2. (Яч(Z))→ Rd LD Rd, -Z 53 1.(Z)-1 →Z 2.(Rr)→Яч(Z) ST -Z, Rr
54 (Яч(Y)+q) → Rd LDD Rd, Y+q 55 (Rr)→Яч(Y)+q STDY+q, Rr
56 (Яч(Z)+q) → Rd LDD Rd, Z+q 57 (Rr)→Яч(Z)+q STDZ+q, Rr
58 1.(SP)+1→SP 2. (СТЕК)→ Rd POP Rd 59 1.(Rr)-1→СТЕК 2.(SP)-1→SP PUSH Rr
d, r = 0-31; q=0-63

Таблица 7

Операция Мнемокод команды Операция Мнемокод команды
60 (PrP) → Rd IN Rd, P 61 (Pr) →PrP OUT P,Pr
d, r = 0-31; P=0-63=S00-$3F

Таблица 8

Операция Мнемокод команды (Z.15-1) – адрес в FlashROMZ.0 = 0 – мл. байт; Z.0 =1 –ст. байт
62 (Яч(Z))→ R0 LPM

Таблица 9

Операция Мнемокод команды Операция Мнемокод команды
63 T→ Rd.b BLD Rd, b 64 Rr.b →T BSTRr, b
65 0→ PrP.b CBI P, b 66 1→PrP.b SBI P, b
67 0→ SREG.b BLSR b 68 1→SREG.b SSET b
d, r = 0-31; P=0-31 (!); b= 0-7

Таблица 10

Операция Мнемокод команды Операция Мнемокод команды
69 0→I CLI Rd, X 70 1 →I SEI
71 0 →T CLT 72 1 →T SET
73 0→H CLH 74 1 →H SEH
75 0→S CLS 76 1→S SES
77 0→V CLV 78 1→V SEV
79 0→N CLN 80 1→N SEN
81 0→Z CLZ 82 1→Z SEZ
83 0→C CLC 84 1→C SEC

Таблица 11

Операция Мнемокод команды Операция Мнемокод команды
85 (PC)+1+k→PC RJMP k 86 (Z) →PC IJMP
87 (PC)+→СТЕК(SP)-2→SP(PC)+1+k→PC RCALL k 88 (PC)+1→СТЕК(SP)-2→SP(Z) →PC ICALL
89 (SP)+2→ SP(СТЕК) →PC RET 90 (SP)+2→SP(СТЕК) →PC1→I RETI
k= -2048 - +2047

Таблица 12

Условие Мнемокод команды Условие Мнемокод команды
91 I = 0 BRID k 92 I = 1 BRIE k
93 T = 0 BRTC k 94 T = 1 BRTS k
95 H = 0 BRHC k 96 H = 1 BRHS k
97 S = 02. (X)+1→X BRGE k 98 S = 1 BRLT k
99 V = 0 BRVC 100 V = 1 BRVS k
101 N = 0 BRPL k 102 N = 1 BRMI k
103 Z = 0 BRNE k 104 Z = 1 BREQ k
105 C = 0 BRCC k 106 C = 1 BRCS k
107 C = 0 BRSH k 108 C = 1 BRLO k
109 SREG.b = 0 BRBC b, k 110 SREG.b = 1 BRBS b, k
k= -64 - +63; b = 0 - 7

Таблица 13

Условие Мнемокод команды Условие Мнемокод команды
111 Rr.b = 0 SBRC Rr, b 112 Rrb = 1 SBRS Rr, b
113 PrP.b = 0 SBIC P, b 114 PrP.b = 1 SPIS P, b
115 (Rd) = (Rr) CPSE Rd, Rr
d, r= 0 – 31; P = 0 – 31 (!); b = 0 - 7

Таблица 14

Операция Мнемокод команды
116 MK → режим энергосбережения SLEEP
117 Перезапуск WDT WDR
118 Нет NOP

6.3 Команды регистровых операций

В группу регистровых операций входят пересылочные, арифметические и логические операции. Команды регистровых операций описаны в табл. 2, 3 и 4 Машинные коды всех команд регистровых операций имеют формат «слово», команды №№ 1 – 31 выполняются за один такт, а команды №№ 32 и 33 – за два такта.

При описании операций в табл. 2 – 4 используются следующие обозначения:

▪ Rd, Rr – регистры общего назначения с номерами d и r соответственно;