51单片机汇编指令详解要点
- 格式:docx
- 大小:24.03 KB
- 文档页数:21
51单片机汇编指令详解要点
1、XCH A,Rn
指令名称:寄存器寻址字节交换指令
指令代码:C8H~CFH
指令功能:寄存器寻址字节
操作内容:(A)交换(Rn);n=0~7
字节数: 1
机器周期:1
2、XCH A,direct
指令名称:直接寻址字节交换指令
指令代码:C5H
指令功能:累加器内容与内部RAM低128单元或专用寄存器内容交换操作内容:(A)交换(direct)
字节数: 2
机器周期:1
3、XCH A,@Ri
指令名称:间接寻址字节交换指令
指令代码:C6H~C7H
指令功能:累加器内容与内部RAM低128单元内容交换
操作内容:(A)交换((Ri)); i=0,1
字节数: 1
机器周期:1
4、XCHD A,@Ri
指令名称:半字节交换指令
指令代码:D6H~D7H
指令功能:累加器内容低4位与内部RAM低128单元低4位交换
操作内容:(A)3~0交换((Ri))3~0;i=0,1
字节数: 1
机器周期:1 5、XRL A,Rn
指令名称;逻辑异或操作指令
指令代码:68H~6FH
指令功能:累加器内容与寄存器内容进行逻辑异或操作
操作内容:A<-(A)异或(Rn); n=0~7
字节数: 1
机器周期:1
6、XRL A,direct
指令名称:逻辑异或操作指令
指令代码:65H
指令功能:累加器内容与内部RAM低128单元或专用寄存器内容进行逻辑异或操作操作内容:A<-(A)异或(direct)
字节数: 2
机器周期:1
7、XRL A,@Ri
指令名称:逻辑异或指令
指令代码:66H~67H
指令功能:累加器与内部RAM低128单元内容进行逻辑异或操作
操作内容:A<-(A)异或((Ri)); i=0,1
字节数: 1
机器周期:1
8、XRL A,#data
指令名称:逻辑异或指令
指令代码:64H
指令功能:累加器内容与立即数进行逻辑异或操作
操作内容:A1?/FONT>(A)异或data
字节数: 2
机器周期:1
9、XRL direct,A
指令名称:逻辑异或操作指令 指令代码:62H
指令功能:累加器内容与内部RAM低128单元或专用寄存器内容进行逻辑异或操作操作内容:direct一(direct)异或(A)
字节数: 2
机器周期:1
10、XRL direct,#data
指令名称:逻辑异或操作指令
指令代码:63H
指令功能:内部RAM低128单元或专用寄存器内容与立即数进行逻辑异或操作
操作内容:direct<-(direct)异或data
字节数: 3
机器周期:2
以R开头的指令有6条,分别为:
RET
RETI
RL A
RLC A
RR A
RRC A
1、RET
指令名称:子程序返回指令
指令代码:22H
指令功能:子程序返回
操作内容:PC15~8<-((SP))
SP<-(SP)-1
PC7~0<-((SP))
SP<-(SP)-1
字节数: 1
机器周期:2 2、RETI
指令名称:中断返回指令
指令代码:32H
指令功能:中断服务程序返回
操作内容’:PC15?/FONT>8<-((SP))
SP<-(SP)-l
PC7~0<-((SP))
SP<-(SP)-1
字节数: 1
机器周期:2
3、RL A
指令名称:循环左移指令
指令代码:23H
指令功能:累加器内容循环左移一位
操作内容:An+1<-(An); n=0~6
A0<-(A7)
字节数: 1
机器周期:1
4、RLC A
指令名称:带进位循环左移指令
指令代码:33H
指令功能:累加器内容连同进位标志位循环左移一位操作内容:An-1<-(An); n=0~6
A0<-(C)
C<-(A7)
字节数: 1
机器周期:1
5、RR A
指令名称:循环右移指令
指令代码:03H 指令功能:累加器内容循环右移一位
操作内容:An<-(An+1);n=0~6
A7<-(A0)
字节数: 1
机器周期:1
6、RRC A
指令名称:带进位循环右移指令
指令代码:13H
指令功能:累加器内容连同进位标志位循环右移一位
操作内容:An<-(An+1);n=0~6
A7<-(C)
C<-(A0)
字节数: 1
机器周期:1
1、SETB c
指令名称:进位标志置位指令
指令代码:D.H
指令功能:进位标志位置位
操作内容:C<-1
字节数: 1
机器周期:1
2、SETB bit
指令名称:直接寻址位置位指令
指令代码:D2H
指令功能:内部RAM可寻址位或专用寄存器指定位置位
操作内容:bit<-1
字节数: 2
机器周期:1
3、SJMP rel
指令名称:短转移指令 指令代码:80H
指令功能:按指令提供的偏移量计算转移的目的地址,实现程序的无条件相对转移;
操作内容:PC<-(PC)+2
PC<-(PC)+rel
字节数: 2
机器周期:2
使用说明:偏移量是8位二进制补码数,可实现程序的双向转移,其转移范围是(PC一126)一(PC+129)。其中PC值为本指令的地址。
4、SUBB A,Rn
指令名称:寄存器寻址带进位减法指令
指令代码:98H~9FH
指令功能:累加器内容减寄存器内容和进位标志位内容
操作内容:A<-(A)-(Rn)-(C); n=0~7
字节数: 1
机器周期:1
影响标志位:当够减时,进位标志位复位;不够减时,进位标志置位。当位3发生借位时,AC置位;否则AC 复位。当位6及位7不同时发生借位时,OV置位;否则OV复位。
5、SUBB A,direct
指令名称:直接寻址带进位减法指令
指令代码:95H
指令功能:累加器内容减内部RAM低128单元或专用寄存器和进位标志位内容
操作内容:A<-(A)-(diret)-(C)
字节数: 2
机器周期:1
影响标志位:同SUBB A,Rn指令(序号97)
6、SUBB A,@Ri
指令名称:间接寻址带进位减法指令 指令代码:96H~97H
指令功能:累加器内容减内部RAM低128单元内容及进位标志位内容
操作内容:A<-(A)-((Ri))-(C);i=0,1
字节数: 1
机器周期:1
影响标志位:同SUBB A,Rn指令(序号97)
7、SUBB A,#data
指令名称:立即数带进位减法指令
指令代码:94H
指令功能:累加器内容减立即数及进位标志内容
操作内容:A<-(A)-data-(C)
字节数: 2
机器周期:1
影响标志位:同SUBB A,Rn指令(序号97)
8、SWAP A
指令名称:累加器高低半字节交换指令
指令代码:C4H
指令功能:累加器内容的高4位与低4位交换
操作内容:(A)7?/FONT>4交换(A)3?/FONT>0
字节数: 1
机器周期:1
1、NOP
指令名称:空操作指令
指令代码;00H
指令功能:不执行任何操作,常用于产生一个机器周期的时间延迟。操作内容:PC<-(PC)+l
字节数: 1
机器周期:1
1、ORL A,Rn 指令名称:逻辑或操作指令
指令代码:48H~4FH
指令功能:累加器内容与寄存器内容进行逻辑或操作
操作内容:A1<-(A)|(Rn), n=0~7
字节数: 1
机器周期:1
2、ORL A,direct
指令名称:逻辑或操作指令
指令代码:45H
操作内容:A<-(A)|(direct)
字节数: 2
机器周期:1
3、ORL A,@Ri
指令名称:逻辑或操作指令
指令代码:46H~47H
指令功能:累加器内容与内部RAM低128单元内容进行逻辑或操作
操作内容:A<-(A)|((Ri)); i=0,1
字节数: 1
机器周期:1
4、ORL A,#data
指令名称:逻辑或操作指令
指令代码:44H
指令功能:累加器内容与立即数进行逻辑或操作
操作内容:A<-(A)|data
字节数: 2
机器周期:1
5、ORL direct,A
指令名称:逻辑或操作指令
指令代码:42H