8051指令周期表
1.Arithmetic operations:
instruction Byte Cyc
ADD A,@Ri 1 1
ADD A,Rn 1 1
ADD A,direct 2 1
ADD A,#data 2 1
ADDC A,@Ri 1 1
ADDC A,Rn 1 1
ADDC A,direct 2 1
ADDC A,#data 2 1
SUBB A,@Ri 1 1
SUBB A,Rn 1 1
SUBB A,direct 2 1
SUBB A,#data 2 1
INC A
1 1
INC @Ri 1
1
INC Rn 1
1
INC DPTR 1
1
INC direct 2
1
INC direct 2
1
DEC A
1
1
DEC @Ri 1
1
DEC Rn 1
1
DEC direct 2
1
MUL AB 1
4
DIV AB 1
4
DA A
1 1
2.Logical opreations:
instruction Byte Cyc
ANL A,@Ri 1
1
XRL A,@Ri 1
1
ANL A,Rn 1
1
XRL A,Rn 1
1
ANL A,direct 2
1
XRL A,direct 2
1
ANL A,#data 2
1
XRL A,#data 2
1
ANL direct,A 2
1
XRL direct,A 2
1
ANL direct,#data 3
2
XRL direct,#data 3
2
ORL A,@Ri 1
1
CLR A
1
1
ORL A,Rn 1
1
CPL A
1
1
ORL A,direct 2
1
RL A
1
1
ORL A,#data 2
1
RLC A
1
1
ORL direct,A 2
1
RR A
1
1
ORL direct,#data 3
2
RRC A
1
1
SWAP A 1
1
3.Data transfer:
instruction Byte
Cyc
MOV A,@Ri 1
1
MOV DPTR,#data16 3
2
MOV A,Rn 1
1
MOVC A,@A+DPTR 1
2
MOV A,direct 2
1
MOVC A,@A+PC 1
2
MOV A,#data 2
1
MOVX A,@Ri 1
2
MOV @Ri,A 1
1
MOVX A,@DPTR 1
2
MOV @Ri,direct 2
2
MOVX @Ri,A 1
2
MOV @Ri,#data 2
1
MOVX @DPTR,A 1
2
MOV Rn,A 1
1
PUSH direct 2
2
MOV Rn,direct 2
2
POP direct 2
2
MOV Rn,#data 2
1
XCH A,@Ri 1
1
MOV direct,A 2
1
XCH A,Rn 1
1
MOV direct,@Ri 2
2
XCH A,direct 2
1
MOV direct,Rn 2
2
XCHD A,@Ri 1
1
MOV direct,direct 3 2
MOV direct,#data 3
2
4.Boolean variable manipulation:
instruction Byte
Cyc
CLR C
1
1
ANL C,bit 2
2
SETB C 1
1
ANL C,/bit 2
2
CPL C
1
1
ORL C,bit 2
2
CLR bit 2
1
ORL C,/bit 2
2
SETB bit 2
1
MOV C,bit 2
1
CPL bit 2
1
MOV bit,C 2
2
5.Program and machine control:
instruction Byte
Cyc
NOP
1
1
JZ rel 2
2
RET
1
2
JNZ rel 2
2
RETI
1
2
JC rel 2
2
ACALL addr11 2
2
JNC rel 2
2
AJMP addr11 2
2
JB bit,rel 3
2
LCALL addr16 3
2
JNB bit,rel 3
2
LJMP addr16 3
2
JBC bit,rel 3 2
SJMP rel 2
2
CJNE A,direct,rel 3 2
JMP @A+DPTR 1
2
CJNE A,#data,rel 3
2
DJNZ Rn,rel 2
2
CJNE @Ri,#data,rel 3 2
DJNZ direct,rel 3 2
CJNE Rn,#data,rel 3 2