Смекни!
smekni.com

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

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

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

Инструкция C OV AC Инструкция C OV AC
ADD X X X CLRC O
ADDC X X X CPLC X
SUBB X X X ANLC,bit X
MUL O X ANLC,/bit X
DIV O X ORLC,bit X
DA X ORLC, bit X
RRC X MOVC,bit X
RLC X CJNE X


SETBC 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
SUBBA,direct (A) -(direct) - c -> A 2 12
SUBB A,@Ri (A) - ((Ri) ) - c -> A 1 12
SUBBA,#data (A) - #data - c -> A 2 12
INCA (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
DECA (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
MULAB (A)* (B) -> AB Умножение (AB - произведение) 1 48
DIVAB (A)/ (B) -> AB Деление (A - частное B -остаток) 1 48
DAA Десятичнаякоррекцияаккумулятора 1 12

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

ANLA,Rn (A)и (Rn) -> A Логическоепобитовое И 1 12
ANLA,direct (A)и(direct) -> A 2 12
ANL A,@Ri (A)и( (Ri) ) -> A 1 12
ANL A,#data (A)и#data -> A 2 12
ANLdirect,A (direct)и(A) -> direct 2 12
ANLdirect,#data (direct)и#data -> direct 3 24
ORL A,Rn (A)или (Rn) -> A ЛогическоепобитовоеИЛИ 1 12
ORLA,direct (A)или(direct) -> A 2 12
ORL A,@Ri (A)или( (Ri) ) -> A 1 12
ORL A,#data (A)или#data -> A 2 12
ORLdirect,A (direct)или(A) -> direct 2 12
ORLdirect,#data (direct)или#data -> direct 3 24
XRL A,Rn (A)^ (Rn) -> A ЛогическоепобитовоеисключающееИЛИ 1 12
XRLA,direct (A) ^(direct) -> A 2 12
XRL A,@Ri (A) ^ ((Ri) ) -> A 1 12
XRL A,#data (A) ^ #data-> A 2 12
XRLdirect,A (direct) ^(A) -> direct 2 12
XRLdirect,#data (direct) ^#data -> direct 3 24
CLR A 00h-> A Обнуление 1 12

Мнемоника

Содержание

Byte

Tact

CPL A not(A) -> A Инверсия 1 12
RLA Циклическийсдвиг аккумуляторавлево на одинбит 1 12
RLCA Циклическийсдвиг аккумуляторавлево на одинбит через битпереноса 1 12
RRA Циклическийсдвиг аккумуляторавправо на одинбит 1 12
RRCA Циклическийсдвиг аккумуляторавправо на одинбит через битпереноса 1 12
SWAPA Обментетрадами ваккумуляторе 1 12

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

MOVA,Rn (Rn) ->A 1 12
MOVA,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
MOVRn,direct (direct) ->Rn 2 24
MOVRn,#data #data ->Rn 2 12
MOVdirect,A (A) ->direct 2 12
MOVdirect,Rn (Rn) ->direct 2 24
MOVdirect,direct (direct) ->direct 3 24
MOVdirect,@Ri ( (Ri) ) ->direct 2 24
MOVdirect,#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
MOVDPTR,#data16 #data16 ->DPTR 3 24
MOVCA,@A+DPTR (( A) + ( DPTR ) ) -> A Обмен свнешне памятьюпрограмм 1 24
MOVCA,@A+PC ( ( A) + (PC ) ) -> A 1 24
MOVX A,@Ri (( Ri) ) -> A Обменс внешней памятьюданных 1 24
MOVXA,@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
XCHA,direct

(A) (direct)

2 12
XCH A,@Ri

(A) ( (Ri) )

1 12
XCHD A,@Ri

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

1 12

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

CLRC 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
CPLbit 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
JNCrel если с = 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.Команды передачиуправления.

ACALLaddr11 Вызовпроцедуры поадресу addr11 2 24
LCALLaddr16 Вызовпроцедуры поадресу addr16 3 24
RET Возвратиз процедуры 1 24
RETI Возвратиз процедурыобработкипрерывания 1 24
AJMPaddr11 Безусловныйпереход поадресу addr11 2 24
LJMPaddr16 Безусловныйпереход поадресу addr16 3 24
SJMPrel Безусловныйпереход посмещению rel 2 24
JMP @A+DPTR Безусловныйпереход посмещению (A)относительно(DPTR) 1 24
JZrel Условныйпереход, еслиравно 0, по смещениюrel 2 24
JNZrel Условныйпереход, еслине равно 0, посмещению rel 2 24
CJNEA,direct,rel Условныйпереход, если (A) не равно (direct),по смещениюrel 3 24
CJNEA,#data,rel Условныйпереход, если (A) не равно #data, посмещению rel 3 24
CJNERn,#data,rel Условныйпереход, если (Rn) не равно #data, посмещению rel 3 24
CJNE@Ri,#data,rel Условныйпереход, если ( (Ri) ) не равно#data, по смещениюrel 3 24
DJNZ Rn,rel ДекрементRn и условныйпереход, еслине равно 0, посмещению rel 2 24
DJNZdirect,rel Декрементdirect и условныйпереход, еслине равно 0, посмещению rel 3 24
NOP

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

1 12