Appendix I

8051 Instructions in numerical Order

Abbreviations: direct  =  8-bit DATA address in internal memory
const8  =  8-bit constant in CODE memory
const16  =  16-bit constant in CODE memory
addr16  =  16-bit long CODE address
addr11  =  11-bit absolute CODE address
rel  =  signed 8-bit relative CODE address
bit  =  8-bit BIT address in internal memory

OpcodeMnemonicOperandsBytesFlagsCycles
00NOP 1    1
01AJMPaddr112    2
02LJMPaddr163    2
03RRA1    1
04INCA1   P1
05INCdirect2    1
06INC@R01    1
07INC@R11    1
08INCR01    1
09INCR11    1
0AINCR21    1
0BINCR31    1
0CINCR41    1
0DINCR51    1
0EINCR61    1
0FINCR71    1
10JBCbit, rel3    2
11ACALLaddr112    2
12LCALLaddr163    2
13RRCA1CY  P1
14DECA1   P1
15DECdirect2    1
16DEC@R01    1
17DEC@R11    1
18DECR01    1
19DECR11    1
1ADECR21    1
1BDECR31    1
1CDECR41    1
1DDECR51    1
1EDECR61    1
1FDECR71    1
20JBbit, rel3    2
21AJMPaddr112    2
22RET 1    2
23RLA1    1
24ADDA, #const82CYACOVP1
25ADDA, direct2CYACOVP1
26ADDA, @R01CYACOVP1
27ADDA, @R11CYACOVP1
28ADDA, R01CYACOVP1
29ADDA, R11CYACOVP1
2AADDA, R21CYACOVP1
2BADDA, R31CYACOVP1
2CADDA, R41CYACOVP1
2DADDA, R51CYACOVP1
2EADDA, R61CYACOVP1
2FADDA, R71CYACOVP1
30JNBbit, rel3    2
31ACALLaddr112    2
32RETI 1    2
33RLCA1CY  P1
34ADDCA, #const82CYACOVP1
35ADDCA, direct2CYACOVP1
36ADDCA, @R01CYACOVP1
37ADDCA, @R11CYACOVP1
38ADDCA, R01CYACOVP1
39ADDCA, R11CYACOVP1
3AADDCA, R21CYACOVP1
3BADDCA, R31CYACOVP1
3CADDCA, R41CYACOVP1
3DADDCA, R51CYACOVP1
3EADDCA, R61CYACOVP1
3FADDCA, R71CYACOVP1
40JCrel2    2
41AJMPaddr112    2
42ORLdirect, A2    1
43ORLdirect, #const83    2
44ORLA, #const82   P1
45ORLA, direct2   P1
46ORLA, @R01   P1
47ORLA, @R11   P1
48ORLA, R01   P1
49ORLA, R11   P1
4AORLA, R21   P1
4BORLA, R31   P1
4CORLA, R41   P1
4DORLA, R51   P1
4EORLA, R61   P1
4FORLA, R71   P1
50JNCrel2    2
51ACALLaddr112    2
52ANLdirect, A2    1
53ANLdirect, #const83    2
54ANLA, #const82   P1
55ANLA, direct2   P1
56ANLA, @R01   P1
57ANLA, @R11   P1
58ANLA, R01   P1
59ANLA, R11   P1
5AANLA, R21   P1
5BANLA, R31   P1
5CANLA, R41   P1
5DANLA, R51   P1
5EANLA, R61   P1
5FANLA, R71   P1
60JZrel2    2
61AJMPaddr112    2
62XRLdirect, A2    1
63XRLdirect, #const83    2
64XRLA, #const82   P1
65XRLA, direct2   P1
66XRLA, @R01   P1
67XRLA, @R11   P1
68XRLA, R01   P1
69XRLA, R11   P1
6AXRLA, R21   P1
6BXRLA, R31   P1
6CXRLA, R41   P1
6DXRLA, R51   P1
6EXRLA, R61   P1
6FXRLA, R71   P1
70JNZrel2    2
71ACALLaddr112    2
72ORLC, bit2CY   2
73JMP@A+DPTR1    2
74MOVA, #const82   P1
75MOVdirect, #const83    2
76MOV@R0, #const82    1
77MOV@R1, #const82    1
78MOVR0, #const82    1
79MOVR1, #const82    1
7AMOVR2, #const82    1
7BMOVR3, #const82    1
7CMOVR4, #const82    1
7DMOVR5, #const82    1
7EMOVR6, #const82    1
7FMOVR7, #const82    1
80SJMPrel2    2
81AJMPaddr112    2
82ANLC, bit2CY   2
83MOVCA, @A+PC1   P2
84DIVAB1CY OVP4
85MOVdirect, direct3    2
86MOVdirect, @R02    2
87MOVdirect, @R12    2
88MOVdirect, R02    2
89MOVdirect, R12    2
8AMOVdirect, R22    2
8BMOVdirect, R32    2
8CMOVdirect, R42    2
8DMOVdirect, R52    2
8EMOVdirect, R62    2
8FMOVdirect, R72    2
90MOVDPTR, #const163    2
91ACALLaddr112    2
92MOVbit, C2    2
93MOVCA, @A+DPTR1   P2
94SUBBA, #const82CYACOVP1
95SUBBA, direct2CYACOVP1
96SUBBA, @R01CYACOVP1
97SUBBA, @R11CYACOVP1
98SUBBA, R01CYACOVP1
99SUBBA, R11CYACOVP1
9ASUBBA, R21CYACOVP1
9BSUBBA, R31CYACOVP1
9CSUBBA, R41CYACOVP1
9DSUBBA, R51CYACOVP1
9ESUBBA, R61CYACOVP1
9FSUBBA, R71CYACOVP1
A0ORLC, /bit2CY   2
A1AJMPaddr112    2
A2MOVC, bit2CY   1
A3INCDPTR1    2
A4MULAB1CY OVP4
A5illegal opcode
A6MOV@R0, direct2    2
A7MOV@R1, direct2    2
A8MOVR0, direct2    2
A9MOVR1, direct2    2
AAMOVR2, direct2    2
ABMOVR3, direct2    2
ACMOVR4, direct2    2
ADMOVR5, direct2    2
AEMOVR6, direct2    2
AFMOVR7, direct2    2
B0ANLC, /bit2CY   2
B1ACALLaddr112    2
B2CPLbit2    1
B3CPLC1CY   1
B4CJNEA, #const8, rel3CY   2
B5CJNEA, direct, rel3CY   2
B6CJNE@R0, #const8, rel3CY   2
B7CJNE@R1, #const8, rel3CY   2
B8CJNER0, #const8, rel3CY   2
B9CJNER1, #const8, rel3CY   2
BACJNER2, #const8, rel3CY   2
BBCJNER3, #const8, rel3CY   2
BCCJNER4, #const8, rel3CY   2
BDCJNER5, #const8, rel3CY   2
BECJNER6, #const8, rel3CY   2
BFCJNER7, #const8, rel3CY   2
C0PUSHdirect2    2
C1AJMPaddr112    2
C2CLRbit2    1
C3CLRC1CY   1
C4SWAPA1    1
C5XCHA, direct2   P1
C6XCHA, @R01   P1
C7XCHA, @R11   P1
C8XCHA, R01   P1
C9XCHA, R11   P1
CAXCHA, R21   P1
CBXCHA, R31   P1
CCXCHA, R41   P1
CDXCHA, R51   P1
CEXCHA, R61   P1
CFXCHA, R71   P1
D0POPdirect2    2
D1ACALLaddr112    2
D2SETBbit2    1
D3SETBC1CY   1
D4DAA1CY  P1
D5DJNZdirect, rel3    2
D6XCHDA, @R01   P1
D7XCHDA, @R11   P1
D8DJNZR0, rel2    2
D9DJNZR1, rel2    2
DADJNZR2, rel2    2
DBDJNZR3, rel2    2
DCDJNZR4, rel2    2
DDDJNZR5, rel2    2
DEDJNZR6, rel2    2
DFDJNZR7, rel2    2
E0MOVXA, @DPTR1   P2
E1AJMPaddr112    2
E2MOVXA, @R01   P2
E3MOVXA, @R11   P2
E4CLRA1   P1
E5MOVA, direct2   P1
E6MOVA, @R01   P1
E7MOVA, @R11   P1
E8MOVA, R01   P1
E9MOVA, R11   P1
EAMOVA, R21   P1
EBMOVA, R31   P1
ECMOVA, R41   P1
EDMOVA, R51   P1
EEMOVA, R61   P1
EFMOVA, R71   P1
F0MOVX@DPTR, A1    2
F1ACALLaddr112    2
F2MOVX@R0, A1    2
F3MOVX@R1, A1    2
F4CPLA1   P1
F5MOVdirect, A2    1
F6MOV@R0, A1    1
F7MOV@R1, A1    1
F8MOVR0, A1    1
F9MOVR1, A1    1
FAMOVR2, A1    1
FBMOVR3, A1    1
FCMOVR4, A1    1
FDMOVR5, A1    1
FEMOVR6, A1    1
FFMOVR7, A1    1