在此约定下列指令中各符号的意义:
Rn:当前寄存器区的8个工作寄存器(n=0~7)
Ri:当前寄存器区中可作间接寻址寄存器的2个寄存器(i=0 1)
Direct:直接地址
#data:包含在指令中的8位立即数
rel:相对转移指令中的偏移量,为8位带符号补码数
DPTR:数据指针,16位数据地址寄存器
bit:直接寻址位
C:进位标志位
addr11:11位目的地址
addr16:16位目的地址
@:间接寻址寄存器前缀
一、数据传送类指令
1.以累加器为目的操作数指令
MOV A,Rn
MOV A,@Ri
MOV A,direct
MOV A,#data
2.以Rn为目的操作数的指令
MOV Rn,A
MOV Rn,direct
MOV Rn,#data
3.以直接地址为目的操作数指令
4.以寄存器间接地址为目的操作数指令
MOV @Ri,A
MOV @Ri,direct
MOV @Ri,#data
5.16位传送指令
MOV DPTR,#data16
6.堆栈操作指令
7.累加器A与外部数据存储器传送指令
8.查表指令
9.字节交换命令
XCH A,Rn
XCH A,direct
XCH A,@Ri
10.半字节交换指令
XCHD @Ri
二、算数操作类指令
1.加法指令
ADD A,Rn
ADD A,direct
ADD A,@Ri
ADD A,#data
2.带进位加法指令
ADDC A,Rn
ADDC A,direct
ADDC A,@Ri
ADDC A,#data
3.增1指令
4.十进制调整指令
DA A
5.带借位减法
SUBB A,Rn
SUBB A,direct
SUBB A,@Ri
SUBB A,#data
6.减1指令
7.乘法指令
MUL AB
8.除法指令
DIV AB
三、逻辑操作类指令
1.简单逻辑操作指令
2.左循环指令
RL A
3.带进位左移指令
RLC A
4.右移指令
RR A
5.带进位循环指令
RRC A
6.累加器半字节交换指令
SWAP A
7.逻辑与指令
ANL A,Rn
ANL A,direct
ANL A,#data
ANL A,@Ri
ANL direct,A
ANL direct,#data
7.逻辑或指令
ORL A,Rn
ORL A,direct
ORL A,#data
ORL A,@Ri
ORL direct,A
ORL direct,#data
7.逻辑异或指令
XRL A,Rn
XRL A,direct
XRL A,#data
XRL A,@Ri
XRL direct,A
XRL direct,#data
四、控制转移类指令
1.无条件转移指令
AJMP addr11
2.相对转移指令
SJMP rel
3.长跳转指令
LJMP addr16
4.间接跳转指令
JMP @A+DPTR
5.条件转移指令
6.比较不相等转移指令
7.减1不为0转移指令
DJNZ Rn,rel
DJNZ direct,rel
8.调用子程序指令
9.子程序返回指令
RET
10.中断返回指令
RETI
11.空操作指令
NOP
五、位操作指令
1.数据位传送指令
2.位变量修改指令
3.位变量逻辑与指令
3.位变量逻辑或指令
4.条件转移类指令
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/176535.html原文链接:https://javaforall.net
