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