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

Инструкции  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 текущего банкарабочих регистров

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

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

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

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

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

addr11       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

ADDC  A,Rn

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

1

12

ADDC  A,direct

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

2

12

ADDC  A,@Ri

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

1

12

ADDC  A,#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

еще рефераты
Еще работы по компьютерам. программированию