经典的51单片机汇编指令详解文档格式.docx
《经典的51单片机汇编指令详解文档格式.docx》由会员分享,可在线阅读,更多相关《经典的51单片机汇编指令详解文档格式.docx(36页珍藏版)》请在冰豆网上搜索。
1、XCHA,Rn
指令名称:
寄存器寻址字节交换指令
指令代码:
C8H~CFH
指令功能:
寄存器寻址字节
操作内容:
(A)交换(Rn);
n=0~7
字节数:
1
机器周期:
1
2、XCHA,direct
直接寻址字节交换指令
C5H
累加器内容与内部RAM低128单元或专用寄存器内容交换
(A)交换(direct)
2
3、XCHA,@Ri
间接寻址字节交换指令
C6H~C7H
累加器内容与内部RAM低128单元内容交换
(A)交换((Ri));
i=0,1
4、XCHDA,@Ri
半字节交换指令
D6H~D7H
累加器内容低4位与内部RAM低128单元低4位交换
(A)3~0交换((Ri))3~0;
i=0,1
5、XRLA,Rn
指令名称;
逻辑异或操作指令
68H~6FH
累加器内容与寄存器内容进行逻辑异或操作
A<
-(A)异或(Rn);
n=0~7
6、XRLA,direct
65H
累加器内容与内部RAM低128单元或专用寄存器内容进行逻辑异或操作
-(A)异或(direct)
7、XRLA,@Ri
逻辑异或指令
66H~67H
累加器与内部RAM低128单元内容进行逻辑异或操作
-(A)异或((Ri));
8、XRLA,#data
64H
累加器内容与立即数进行逻辑异或操作
A1?
/FONT>
(A)异或data
9、XRLdirect,A
62H
direct一(direct)异或(A)
10、XRLdirect,#data
63H
内部RAM低128单元或专用寄存器内容与立即数进行逻辑异或操作
direct<
-(direct)异或data
3
2
以R开头的指令有6条,分别为:
RET
RETI
RLA
RLCA
RRA
RRCA
1、RET
子程序返回指令
22H
子程序返回
PC15~8<
-((SP))
SP<
-(SP)-1
PC7~0<
2
2、RETI
中断返回指令
32H
中断服务程序返回
操作内容’:
PC15?
8<
-(SP)-l
3、RLA
循环左移指令
23H
累加器内容循环左移一位
An+1<
-(An);
n=0~6
A0<
-(A7)
4、RLCA
带进位循环左移指令
33H
累加器内容连同进位标志位循环左移一位
An-1<
-(C)
C<
5、RRA
循环右移指令
03H
累加器内容循环右移一位
An<
-(An+1);
n=0~6
A7<
-(A0)
6、RRCA
带进位循环右移指令
13H
累加器内容连同进位标志位循环右移一位
以S开头的指令有8条,分别为:
SETBc
SETBbit
SJMPrel
SUBBA,Rn
SUBBA,direct
SUBBA,@Ri
SUBBA,#data
SWAPA
1、SETBc
进位标志置位指令
D.H
进位标志位置位
-1
2、SETBbit
直接寻址位置位指令
D2H
内部RAM可寻址位或专用寄存器指定位置位
bit<
3、SJMPrel
短转移指令
80H
按指令提供的偏移量计算转移的目的地址,实现程序的无条件相对转移;
PC<
-(PC)+2
-(PC)+rel
使用说明:
偏移量是8位二进制补码数,可实现程序的双向转移,其转移范围是(PC一126)一(PC+129)。
其中PC值为本指令的地址。
4、SUBBA,Rn
寄存器寻址带进位减法指令
98H~9FH
累加器内容减寄存器内容和进位标志位内容
-(A)-(Rn)-(C);
影响标志位:
当够减时,进位标志位复位;
不够减时,进位标志置位。
当位3发生借位时,AC置位;
否则AC复位。
当位6及位7不同时发生借位时,OV置位;
否则OV复位。
5、SUBBA,direct
直接寻址带进位减法指令
95H
累加器内容减内部RAM低128单元或专用寄存器和进位标志位内容
-(A)-(diret)-(C)
同SUBBA,Rn指令(序号97)
6、SUBBA,@Ri
间接寻址带进位减法指令
96H~97H
累加器内容减内部RAM低128单元内容及进位标志位内容
-(A)-((Ri))-(C);
7、SUBBA,#data
立即数带进位减法指令
94H
累加器内容减立即数及进位标志内容
-(A)-data-(C)
8、SWAPA
累加器高低半字节交换指令
C4H
累加器内容的高4位与低4位交换
(A)7?
4交换(A)3?
以N开头的指令只有1条,就是:
1、NOP
空操作指令
指令代码;
00H
不执行任何操作,常用于产生一个机器周期的时间延迟。
-(PC)+l
以O开头的指令有8条,分别为:
ORLA,Rn
ORLA,direct
ORLA,@Ri
ORLA,#data
ORLdirect,A
ORLdirect,#data
ORLC,bit
ORLC,/bit
1、ORLA,Rn
逻辑或操作指令
48H~4FH
累加器内容与寄存器内容进行逻辑或操作
A1<
-(A)|(Rn),n=0~7
2、ORLA,direct
45H
-(A)|(direct)
3、ORLA,@Ri
46H~47H
累加器内容与内部RAM低128单元内容进行逻辑或操作
-(A)|((Ri));
4、ORLA,#data
44H
累加器内容与立即数进行逻辑或操作
-(A)|data
5、ORLdirect,A
42H
内部RAM低128单元或专用寄存器内容与累加器内容进行逻辑或操作
-(direct)|(A)
6、ORLdirect,#data
43H
内部RAM低128单元或专用寄存器内容与立即数进行逻辑或操作。
-(direct)|data
7、ORLC,bit
位逻辑或操作指令
72H
累加位C状态与内部RAM可寻址位或专用寄存器指定位进行逻辑或操作
-(C)|(bit)
8、ORLC,/bit
位反逻辑或操作指令
A0H
累加位C状态与内部RAM可寻址位或专用寄存器指定位的反进行逻辑或操作
-(C)|(bit非)
指定位的状态取反后进行逻辑或操作,但并不改变指定位的原来状态。
以P开头的指令有2条,分别为:
POPdirect
PUSHdirect
1、POPdirect
出栈指令
D0H
堆栈栈顶单元的内容送内部RAM低128单元或专用寄存器
-(SP)
2、PUSHdirect
进栈指令
C0
内部RAM低128单元或专用寄存器内容送堆栈栈顶单元
-(SP)+1
(SP)<
-(direct)
以M开头的指令有24条,分别为:
MOVA,Rn
MOVA,direct
MOVA