8051 Instruction Set Manual

Opcodes

The following table lists the 8051 instructions by HEX code.

Hex
Code
BytesMnemonicOperands
001NOP 
012AJMPaddr11
023LJMPaddr16
031RRA
041INCA
052INCdirect
061INC@R0
071INC@R1
081INCR0
091INCR1
0A1INCR2
0B1INCR3
0C1INCR4
0D1INCR5
0E1INCR6
0F1INCR7
103JBCbit, offset
112ACALLaddr11
123LCALLaddr16
131RRCA
141DECA
152DECdirect
161DEC@R0
171DEC@R1
181DECR0
191DECR1
1A1DECR2
1B1DECR3
1C1DECR4
1D1DECR5
1E1DECR6
1F1DECR7
203JBbit, offset
212AJMPaddr11
221RET 
231RLA
242ADDA, #immed
252ADDA, direct
261ADDA, @R0
271ADDA, @R1
281ADDA, R0
291ADDA, R1
2A1ADDA, R2
2B1ADDA, R3
2C1ADDA, R4
2D1ADDA, R5
2E1ADDA, R6
2F1ADDA, R7
303JNBbit, offset
312ACALLaddr11
321RETI 
331RLCA
342ADDCA, #immed
352ADDCA, direct
361ADDCA, @R0
371ADDCA, @R1
381ADDCA, R0
391ADDCA, R1
3A1ADDCA, R2
3B1ADDCA, R3
3C1ADDCA, R4
3D1ADDCA, R5
3E1ADDCA, R6
3F1ADDCA, R7
402JCoffset
412AJMPaddr11
422ORLdirect, A
433ORLdirect, #immed
442ORLA, #immed
452ORLA, direct
461ORLA, @R0
471ORLA, @R1
481ORLA, R0
491ORLA, R1
4A1ORLA, R2
4B1ORLA, R3
4C1ORLA, R4
4D1ORLA, R5
4E1ORLA, R6
4F1ORLA, R7
502JNCoffset
512ACALLaddr11
522ANLdirect, A
533ANLdirect, #immed
542ANLA, #immed
552ANLA, direct
561ANLA, @R0
571ANLA, @R1
581ANLA, R0
591ANLA, R1
5A1ANLA, R2
5B1ANLA, R3
5C1ANLA, R4
5D1ANLA, R5
5E1ANLA, R6
5F1ANLA, R7
602JZoffset
612AJMPaddr11
622XRLdirect, A
633XRLdirect, #immed
642XRLA, #immed
652XRLA, direct
661XRLA, @R0
671XRLA, @R1
681XRLA, R0
691XRLA, R1
6A1XRLA, R2
6B1XRLA, R3
6C1XRLA, R4
6D1XRLA, R5
6E1XRLA, R6
6F1XRLA, R7
702JNZoffset
712ACALLaddr11
722ORLC, bit
731JMP@A+DPTR
742MOVA, #immed
753MOVdirect, #immed
762MOV@R0, #immed
772MOV@R1, #immed
782MOVR0, #immed
792MOVR1, #immed
7A2MOVR2, #immed
7B2MOVR3, #immed
7C2MOVR4, #immed
7D2MOVR5, #immed
7E2MOVR6, #immed
7F2MOVR7, #immed
 
Hex
Code
BytesMnemonicOperands
802SJMPoffset
812AJMPaddr11
822ANLC, bit
831MOVCA, @A+PC
841DIVAB
853MOVdirect, direct
862MOVdirect, @R0
872MOVdirect, @R1
882MOVdirect, R0
892MOVdirect, R1
8A2MOVdirect, R2
8B2MOVdirect, R3
8C2MOVdirect, R4
8D2MOVdirect, R5
8E2MOVdirect, R6
8F2MOVdirect, R7
903MOVDPTR, #immed
912ACALLaddr11
922MOVbit, C
931MOVCA, @A+DPTR
942SUBBA, #immed
952SUBBA, direct
961SUBBA, @R0
971SUBBA, @R1
981SUBBA, R0
991SUBBA, R1
9A1SUBBA, R2
9B1SUBBA, R3
9C1SUBBA, R4
9D1SUBBA, R5
9E1SUBBA, R6
9F1SUBBA, R7
A02ORLC, /bit
A12AJMPaddr11
A22MOVC, bit
A31INCDPTR
A41MULAB
A5 reserved 
A62MOV@R0, direct
A72MOV@R1, direct
A82MOVR0, direct
A92MOVR1, direct
AA2MOVR2, direct
AB2MOVR3, direct
AC2MOVR4, direct
AD2MOVR5, direct
AE2MOVR6, direct
AF2MOVR7, direct
B02ANLC, /bit
B12ACALLaddr11
B22CPLbit
B31CPLC
B43CJNEA, #immed, offset
B53CJNEA, direct, offset
B63CJNE@R0, #immed, offset
B73CJNE@R1, #immed, offset
B83CJNER0, #immed, offset
B93CJNER1, #immed, offset
BA3CJNER2, #immed, offset
BB3CJNER3, #immed, offset
BC3CJNER4, #immed, offset
BD3CJNER5, #immed, offset
BE3CJNER6, #immed, offset
BF3CJNER7, #immed, offset
C02PUSHdirect
C12AJMPaddr11
C22CLRbit
C31CLRC
C41SWAPA
C52XCHA, direct
C61XCHA, @R0
C71XCHA, @R1
C81XCHA, R0
C91XCHA, R1
CA1XCHA, R2
CB1XCHA, R3
CC1XCHA, R4
CD1XCHA, R5
CE1XCHA, R6
CF1XCHA, R7
D02POPdirect
D12ACALLaddr11
D22SETBbit
D31SETBC
D41DAA
D53DJNZdirect, offset
D61XCHDA, @R0
D71XCHDA, @R1
D82DJNZR0, offset
D92DJNZR1, offset
DA2DJNZR2, offset
DB2DJNZR3, offset
DC2DJNZR4, offset
DD2DJNZR5, offset
DE2DJNZR6, offset
DF2DJNZR7, offset
E01MOVXA, @DPTR
E12AJMPaddr11
E21MOVXA, @R0
E31MOVXA, @R1
E41CLRA
E52MOVA, direct
E61MOVA, @R0
E71MOVA, @R1
E81MOVA, R0
E91MOVA, R1
EA1MOVA, R2
EB1MOVA, R3
EC1MOVA, R4
ED1MOVA, R5
EE1MOVA, R6
EF1MOVA, R7
F01MOVX@DPTR, A
F12ACALLaddr11
F21MOVX@R0, A
F31MOVX@R1, A
F41CPLA
F52MOVdirect, A
F61MOV@R0, A
F71MOV@R1, A
F81MOVR0, A
F91MOVR1, A
FA1MOVR2, A
FB1MOVR3, A
FC1MOVR4, A
FD1MOVR5, A
FE1MOVR6, A
FF1MOVR7, A

All mnemonics Copyright © 1980 Intel Corporation.