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

Посмотреть архив целиком













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



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


Случайные файлы

Файл
70599.rtf
75470-1.rtf
182154.rtf
49133.rtf
86971.doc




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.