Микроконтроллеры семейства MCS51 Intel

Загрузить архив:
Файл: ref-17152.zip (969kb [zip], Скачиваний: 118) скачать

ИнструкцииMCS51TM    Intel

Инструкции, модифицирующие флаги (1)

Инструкция

C   OV   AC

Инструкция

C   OV   AC

ADD

X     X     X

CLR C

O

ADDC

X     X     X

CPL C

X

SUBB

X     X     X

ANL C,bit

X

MUL

O     X

ANL C,/bit

X

DIV

O     X

ORL C,bit

X

DA

X

ORL C, bit

X

RRC

X

MOV C,bit

X

RLC

X

CJNE

X

SETB C

1

Замечание. Операции с регистром специальных функций с регистром PSWили с его битами также модифицируют флаги.

Условные обозначения операндов:

Rn                Регистр R7-R0 текущего банка рабочих регистров

direct8-bit прямой адрес.Это может быть ячейка внутреннего ОЗУ данных (0-7F h) или  SFR(7Fh - 0FFh).

@Ri             8-bit косвенныйадрес внутреннего ОЗУ (00 - 0ffh) равен содержимомууказателя R0 или R1.

#data           8-bit  непосредственная константа, включенная в инструкцию.

#data 16     16-bit непосредственная константа, включенная в инструкцию.

addr 16       16-bitадрес длинного перехода, используемый командамиLCALLи  LJMP.

addr 11       11-bit адрес относительного перехода, используемый командами  ACALLиAJMP.

rel                8-bit смещение со знаком, используемое командойSJMP и командами условныхпереходов.

bit                 Прямой адрес бита внутреннего ОЗУ или SFR.

Таблица 1.   Список инструкций MCS51TM Intel.

Мнемоника

Содержание

Byte

Tact

1. Арифметические операции.

ADD     A,Rn

(A) + (Rn) -> A                     Сложение

1

12

ADD     A,direct

(A) + (direct) -> A      

2

12

ADD     A,@Ri

(A) + ( (Ri) ) -> A

1

12

ADD     A,#data

(A) + #data -> A

2

12

ADDCA,Rn

(A) + (Rn) + c -> A               Сложение с учетом переноса

1

12

ADDCA,direct

(A) + (direct) + c -> A      

2

12

ADDCA,@Ri

(A) + ( (Ri) ) + c -> A

1

12

ADDCA,#data

(A) - #data  - c -> A

2

12

SUBB    A,Rn

(A) - (Rn) - c -> A               Вычитание с учетом заема

1

12

SUBB A,direct   

(A) - (direct) - c -> A      

2

12

SUBB A,@Ri             

(A) - ( (Ri) ) - c -> A

1

12

SUBB A,#data

(A) - #data  - c -> A

2

12

INC A                 

(A) + 1 -> A                         Инкремент ( увеличение на единицу )

1

12

INC Rn    

(Rn) + 1 -> Rn

1

12

INC direct

(direct) + 1 -> direct

2

12

INC @Ri

( (Ri) ) + 1 -> ( Ri )

1

12

INC DPTR

(DPTR) + 1 -> DPTR

1

24

DEC A     

(A) - 1 -> A                           Декремент ( уменьшение на единицу )

1

12

DEC Rn   

(Rn) - 1 -> Rn

1

12

DEC direct

(direct) - 1 -> direct

2

12

DEC @Ri

( (Ri) ) - 1 -> ( Ri )

1

12

MUL AB

(A) * (B) -> AB                   Умножение(AB - произведение)

1

48

DIV AB

(A) / (B) -> AB                     Деление    (A - частное B - остаток)

1

48

DA A

Десятичная коррекция аккумулятора

1

12

2. Логические операции.

ANL A,Rn

(A) и (Rn) -> A                   Логическое побитовое И

1

12

ANL A,direct

(A) и (direct) -> A

2

12

ANL A,@Ri

(A) и ( (Ri) ) -> A

1

12

ANL A,#data

(A) и #data -> A

2

12

ANL direct,A

(direct) и (A) -> direct

2

12

ANL direct,#data

(direct) и #data -> direct

3

24

ORL A,Rn

(A) или(Rn) -> A                   Логическое побитовое ИЛИ

1

12

ORL A,direct

(A) или (direct) -> A

2

12

ORL A,@Ri

(A) или ( (Ri) ) -> A

1

12

ORL A,#data

(A) или #data -> A

2

12

ORL direct,A

(direct) или (A) -> direct

2

12

ORL direct,#data

(direct) или #data -> direct

3

24

XRL A,Rn

(A) ^ (Rn) -> A               Логическое побитовое исключающее ИЛИ

1

12

XRL A,direct

(A) ^ (direct) -> A

2

12

XRL A,@Ri

(A) ^ ( (Ri) ) -> A

1

12

XRL A,#data

(A) ^ #data -> A

2

12

XRL direct,A

(direct) ^ (A) -> direct

2

12

XRL direct,#data

(direct) ^ #data -> direct

3

24

CLR A

00h -> A        Обнуление

1

12

Мнемоника

Содержание

Byte

Tact

CPL A

not (A) -> AИнверсия

1

12

RL A

Циклический сдвиг аккумулятора влево на один бит

1

12

RLC A

Циклический сдвиг аккумулятора влево на один бит через бит переноса

1

12

RR A

Циклический сдвиг аккумулятора вправо на один бит

1

12

RRC A

Циклический сдвиг аккумулятора вправо на один бит через бит переноса

1

12

SWAP A   

Обмен тетрадами в аккумуляторе

1

12

3. Пересылка данных.

MOV A,Rn

(Rn) -> A

1

12

MOV A,direct

(direct) -> A

2

12

MOV A,@Ri

( (Ri) ) -> A

1

12

MOV A,#data

#data -> A

2

12

MOV Rn,A

(A) -> Rn

1

12

MOV Rn,direct

(direct) -> Rn

2

24

MOV Rn,#data

#data -> Rn

2

12

MOV direct,A

(A) -> direct

2

12

MOV direct,Rn

(Rn) -> direct

2

24

MOV direct,direct

(direct) -> direct

3

24

MOV direct,@Ri

( (Ri) ) -> direct

2

24

MOV direct,#data

#data -> direct

3

24

MOV @Ri,A

(A) -> (Ri)

1

12

MOV @Ri,direct

(direct) -> (Ri)

2

24

MOV @Ri,#data

#data  -> (Ri)

2

12

MOV DPTR,#data16

#data16 -> DPTR

3

24

MOVC A,@A+DPTR

( ( A) + ( DPTR ) ) -> AОбмен с внешне памятью программ

1

24

MOVC A,@A+PC

( ( A) + ( PC ) ) -> A

1

24

MOVX A,@Ri

( ( Ri) ) -> A                       Обмен с внешней памятью данных

1

24

MOVX A,@DPTR

( ( DPTR ) ) -> A

1

24

MOVX @Ri,A

(A) ->  ( Ri)

1

24

MOVX @DPTR,A

(A) ->  ( DPTR )

1

24

PUSH direct

(direct) -> Stack     Запись в стек

2

24

POP direct

(Stack) -> direct     Извлечениеизстека

2

24

XCH A,Rn

(A) <- > (Rn)           Обмен содержимым

1

12

XCH A,direct

(A) <- > (direct)

2

12

XCH A,@Ri

(A) <- > ( (Ri) )

1

12

XCHD A,@Ri

(A) <- > ( (Ri) )  Обмен младшей тетрадой

1

12

4. Битовые операции.

CLR C

0 -> с

1

12

CLR bit

0 -> bit

2

12

SETB C

1 -> c

1

12

SETB bit

1 -> bit

2

12

CPL C

not(c)   -> c

1

12

CPL bit

not(bit) -> bit

2

12

ANL C,bit

( с ) и (bit) -> c

2

24

ANL C,/bit

( c ) и not(bit) -> c

2

24

ORL C,bit

( c ) или (bit) -> c

2

24

ORL C,/bit

( c ) или not(bit) -> c

2

24

MOV C,bit

(bit) -> c

2

12

MOV bit,C

( c ) -> bit

2

24

JC rel

еслис = 1 ,   то переход по смещению rel

2

24

JNC rel

еслис = 0 ,   то переход по смещению rel

2

24

JB bit,rel

еслиbit = 1 ,   то переход по смещению rel

3

24

JNB bit,rel

еслиbit = 0 ,   то переход по смещению rel

3

24

JBC bit,rel

еслиbit = 1 ,   то переход по смещению rel и сброс bit

3

24

5. Команды передачи управления.

ACALL addr11

Вызов процедуры по адресу addr11

2

24

LCALL addr16

Вызов процедуры по адресу addr16

3

24

RET

Возврат из процедуры

1

24

RETI

Возврат из процедуры обработки прерывания

1

24

AJMP addr11

Безусловный переход по адресу addr11

2

24

LJMP addr16

Безусловный переход по адресу addr16

3

24

SJMP rel

Безусловный переход по смещению rel

2

24

JMP @A+DPTR

Безусловный переход по смещению (A) относительно (DPTR)

1

24

JZ rel

Условный переход, если равно 0, по смещению rel

2

24

JNZ rel

Условный переход, если не равно 0, по смещению rel

2

24

CJNE A,direct,rel

Условный переход, если(A) не равно (direct), по смещению rel

3

24

CJNE A,#data,rel

Условный переход, если(A) не равно #data, по смещению rel

3

24

CJNE Rn,#data,rel

Условный переход, если(Rn) не равно #data, по смещению rel

3

24

CJNE @Ri,#data,rel

Условный переход, если( (Ri) ) не равно #data, по смещению rel

3

24

DJNZ Rn,rel

Декремент Rnи условный переход, если не равно 0, по смещению rel

2

24

DJNZ direct,rel

Декремент direct и условный переход, если не равно 0, по смещению rel

3

24

NOP

Пустой оператор.

1

12