Скачиваний:
21
Добавлен:
01.05.2014
Размер:
284.67 Кб
Скачать

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

Система команд микроконтроллеров семейства MCS-251 содержит все 111 команд, входящих в систему команд микроконтроллеров семейства MCS-51 и новые команды, число которых у микроконтроллеров разных подсемейств может быть различным. Система команд микроконтроллеров подсемейства SX содержит 157 новых команд.

В новых командах микроконтроллера используются следующие способы адресации: регистровая адресация, непосредственная адресация, прямая адресация памяти, косвенная адресация памяти, косвенная адресация со смещением в формате 16 и 24 разряда (dis16, dis24), стековая адресация с формированием адреса в расширенном указателе стека SPH+SP (stack).

При регистровой адресации производится обращение к регистру (Rm), паре регистров (WRj) или четверке регистров (DRk).

При непосредственной адресации операнд может иметь формат “байт” (#data), формат “слово” (#data16), или формат “двойное слово” с записью в два старших байта кода 0000H (#0data16) или кода FFFFH (#1data16). Кроме того, при непосредственной адресации операнд может быть равен 1, 2, 4 (#short).

При прямой адресации памяти адрес может иметь формат “байт” (dir8) или формат “слово” (dir16).

При косвенной адресации памяти адрес может иметь формат “слово” или “три байта” (24 бита). В первом случае адрес предварительно помещается в пару регистров (@WRj), во втором случае - в четверку регистров (@DRk).

В таблицах 4.3 – 4.8 приведены новые команды из системы команд микроконтроллеров подсемейства SX.

Таблица 4.3

Команды логической обработки

мнемоника

Формат данных

адреса

примечание

SLL

SRL

SRA

B

Rm

Логический сдвиг влево

Логический сдвиг вправо

Арифметический сдвиг вправо

W

WRj

Таблица 4.4

Команды арифметической обработки

мнемоника

Формат данных

адресация

1-й операнд, результат

2-й операнд

INC

DEC

B

Rm

#short***

W

WRj

#short***

D

DRk

#short***

ADD

SUB*

CMP**

ANL

ORL

XRL

B

Rm

Rm; #data; dir8; dir16;

@WRj; @DRk

W

WRj

WRj; #data16; dir8;

dir16

ADD

SUB*

CMP**

D

DRk

DRk; #0data16

CMP**

D

DRk

#1data16

MUL

DIV

B

Rm; WRj

Rm

W

WRj; DRk

WRj

Таблица 4.5

Команды пересылки

мнемоника

Формат данных

адресация

Приемник

Источник

MOV

B

Rm

Rm; #data; dir8;Dir16; @WRj;

@DRk;@WRj+dis16;@DRk+dis24

Dir8; dir16; @WRj;@DRk;

@WRj+dis16;@DRk+dis24

Rm

W

WRj

WRj; #data16;dir8; Dir8; @WRj;

@DRk;@WRj+dis16;@DRk+dis24

Dir8; dir16; @WRj;@DRk;

@WRj+dis16;@DRk+dis24

WRj

D

DRk

DRk; #0data16; #1data16dir8; dir16

Dir8; dir16

DRk

MOVH*

W

DRk

#data16

MOVS**

MOVZ***

B - W

WRj

Rm

PUSH

B

stack

#data; Rm;

W

stack

#data16; WRj

D

stack

DRk

POP

B

Rm

stack

W

WRj

stack

D

DRk

stack

Таблица 4.6

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

мнемоника

операция

мнемоника

операция

CLR bit

SETB bit

CPL bit

ANL C,bit

ANL C,/bit

(bit):=0

(bit):=1

(bit):=/(bit)

C:=C(bit)

C:=C/(bit)

ORL C,bit

ORL C,/bit

MOV C,bit

MOV bit,C

C:=C(bit)

C:=C/(bit)

C:=(bit)

(bit):=C

Таблица 4.7

Команды безусловных переходов

мнемоника

Операция

EJMP addr24

“расширенный” безусловный переход

EJMP @DRk

“расширенный” косвенный безусловный переход

LJMP @WRj

“длинный” косвенный безусловный переход

ECALL addr24

“расширенный” безусловный переход с возвратом

ECALL @DRk

“расширенный” косвенный безусловный переход с

возвратом

LCALL @WRj

“длинный” косвенный безусловный переход с

возвратом

ERET

“расширенный” возврат

TRAP

Безусловный переход по специальному вектору

С возвратом

Таблица 4.8

Команды условных переходов

мнемоника

условие перехода

мнемоника

условие перехода

JB bit, rel

JNB bit, rel

JBC bit, rel

JE rel

JNE rel

JG rel

(bit)=1

(bit)=0

(bit)=1

Z=1

Z=0

Z=0 и C=0

JLE rel

JSL rel

JSLE rel

JSG rel

JSGE rel

Z=1 или C=1

N не равно OV

Z=1 или N не равно OV

Z=0 и N=OV

N=OV

73

Соседние файлы в папке Материалы по микроконтроллерам