Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AVR.docx
Скачиваний:
10
Добавлен:
01.07.2025
Размер:
163 Кб
Скачать
☆

6. Описание системы команды

6.1 Система команд. Общие сведения о системе команд

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

Таблица 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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]