经典的51单片机汇编指令详解.docx

上传人:b****6 文档编号:2925587 上传时间:2022-11-16 格式:DOCX 页数:36 大小:20.07KB
下载 相关 举报
经典的51单片机汇编指令详解.docx_第1页
第1页 / 共36页
经典的51单片机汇编指令详解.docx_第2页
第2页 / 共36页
经典的51单片机汇编指令详解.docx_第3页
第3页 / 共36页
经典的51单片机汇编指令详解.docx_第4页
第4页 / 共36页
经典的51单片机汇编指令详解.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

经典的51单片机汇编指令详解.docx

《经典的51单片机汇编指令详解.docx》由会员分享,可在线阅读,更多相关《经典的51单片机汇编指令详解.docx(36页珍藏版)》请在冰豆网上搜索。

经典的51单片机汇编指令详解.docx

经典的51单片机汇编指令详解

MCS-51系列单片机指令以A开头的指令有18条,分别:

ACALLaddr11

ADDA,Rn

ADDA,directADDA,@Ri

ADDA,#data

ADDCA,Rn

ADDCA,direct

ADDCA,@RiADDCA,#data

AJMPaddr11

ANLA,Rn

ANLA,direct

ANLA,@Ri

ANLA,#data

ANLdirect,AANLdirect,#data

  

以X开头的指令有10条,分别为:

XCHA,Rn

XCHA,direct

XCHA,@Ri

XCHDA,@Ri

XRLA,Rn

XRLA,direct

XRLA,@Ri

XRLA,#data

XRLdirect,A

XRLdirect,#data

1、XCHA,Rn

指令名称:

寄存器寻址字节交换指令

指令代码:

C8H~CFH

指令功能:

寄存器寻址字节

操作内容:

(A)交换(Rn);n=0~7

字节数:

1

机器周期:

1

2、XCHA,direct

指令名称:

直接寻址字节交换指令

指令代码:

C5H

指令功能:

累加器内容与内部RAM低128单元或专用寄存器内容交换

操作内容:

(A)交换(direct)

字节数:

2

机器周期:

1

3、XCHA,@Ri

指令名称:

间接寻址字节交换指令

指令代码:

C6H~C7H

指令功能:

累加器内容与内部RAM低128单元内容交换

操作内容:

(A)交换((Ri));i=0,1

字节数:

1

机器周期:

1

4、XCHDA,@Ri

指令名称:

半字节交换指令

指令代码:

D6H~D7H

指令功能:

累加器内容低4位与内部RAM低128单元低4位交换

操作内容:

(A)3~0交换((Ri))3~0;i=0,1

字节数:

1

机器周期:

1

5、XRLA,Rn

指令名称;逻辑异或操作指令

指令代码:

68H~6FH

指令功能:

累加器内容与寄存器内容进行逻辑异或操作

操作内容:

A<-(A)异或(Rn);n=0~7

字节数:

1

机器周期:

1

6、XRLA,direct

指令名称:

逻辑异或操作指令

指令代码:

65H

指令功能:

累加器内容与内部RAM低128单元或专用寄存器内容进行逻辑异或操作

操作内容:

A<-(A)异或(direct)

字节数:

2

机器周期:

1

7、XRLA,@Ri

指令名称:

逻辑异或指令

指令代码:

66H~67H

指令功能:

累加器与内部RAM低128单元内容进行逻辑异或操作

操作内容:

A<-(A)异或((Ri));i=0,1

字节数:

1

机器周期:

1

8、XRLA,#data

指令名称:

逻辑异或指令

指令代码:

64H

指令功能:

累加器内容与立即数进行逻辑异或操作

操作内容:

A1?

/FONT>(A)异或data

字节数:

2

机器周期:

1

9、XRLdirect,A

指令名称:

逻辑异或操作指令

指令代码:

62H

指令功能:

累加器内容与内部RAM低128单元或专用寄存器内容进行逻辑异或操作

操作内容:

direct一(direct)异或(A)

字节数:

2

机器周期:

1

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<-((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、RLA

指令名称:

循环左移指令

指令代码:

23H

指令功能:

累加器内容循环左移一位

操作内容:

An+1<-(An);n=0~6

A0<-(A7)

字节数:

1

机器周期:

1

4、RLCA

指令名称:

带进位循环左移指令

指令代码:

33H

指令功能:

累加器内容连同进位标志位循环左移一位

操作内容:

An-1<-(An);n=0~6

A0<-(C)

C<-(A7)

字节数:

1

机器周期:

1

5、RRA

指令名称:

循环右移指令

指令代码:

03H

指令功能:

累加器内容循环右移一位

操作内容:

An<-(An+1);n=0~6

A7<-(A0)

字节数:

1

机器周期:

1

6、RRCA

指令名称:

带进位循环右移指令

指令代码:

13H

指令功能:

累加器内容连同进位标志位循环右移一位

操作内容:

An<-(An+1);n=0~6

A7<-(C)

C<-(A0)

字节数:

1

机器周期:

1

以S开头的指令有8条,分别为:

SETBc

SETBbit

SJMPrel

SUBBA,Rn

SUBBA,direct

SUBBA,@Ri

SUBBA,#data

SWAPA

1、SETBc

指令名称:

进位标志置位指令

指令代码:

D.H

指令功能:

进位标志位置位

操作内容:

C<-1

字节数:

1

机器周期:

1

2、SETBbit

指令名称:

直接寻址位置位指令

指令代码:

D2H

指令功能:

内部RAM可寻址位或专用寄存器指定位置位

操作内容:

bit<-1

字节数:

2

机器周期:

1

3、SJMPrel

指令名称:

短转移指令

指令代码:

80H

指令功能:

按指令提供的偏移量计算转移的目的地址,实现程序的无条件相对转移;

操作内容:

PC<-(PC)+2

PC<-(PC)+rel

字节数:

2

机器周期:

2

使用说明:

偏移量是8位二进制补码数,可实现程序的双向转移,其转移范围是(PC一126)一(PC+129)。

其中PC值为本指令的地址。

4、SUBBA,Rn

指令名称:

寄存器寻址带进位减法指令

指令代码:

98H~9FH

指令功能:

累加器内容减寄存器内容和进位标志位内容

操作内容:

A<-(A)-(Rn)-(C);n=0~7

字节数:

1

机器周期:

1

影响标志位:

当够减时,进位标志位复位;不够减时,进位标志置位。

当位3发生借位时,AC置位;否则AC复位。

当位6及位7不同时发生借位时,OV置位;否则OV复位。

5、SUBBA,direct

指令名称:

直接寻址带进位减法指令

指令代码:

95H

指令功能:

累加器内容减内部RAM低128单元或专用寄存器和进位标志位内容

操作内容:

A<-(A)-(diret)-(C)

字节数:

2

机器周期:

1

影响标志位:

同SUBBA,Rn指令(序号97)

6、SUBBA,@Ri

指令名称:

间接寻址带进位减法指令

指令代码:

96H~97H

指令功能:

累加器内容减内部RAM低128单元内容及进位标志位内容

操作内容:

A<-(A)-((Ri))-(C);i=0,1

字节数:

1

机器周期:

1

影响标志位:

同SUBBA,Rn指令(序号97)

7、SUBBA,#data

指令名称:

立即数带进位减法指令

指令代码:

94H

指令功能:

累加器内容减立即数及进位标志内容

操作内容:

A<-(A)-data-(C)

字节数:

2

机器周期:

1

影响标志位:

同SUBBA,Rn指令(序号97)

8、SWAPA

指令名称:

累加器高低半字节交换指令

指令代码:

C4H

指令功能:

累加器内容的高4位与低4位交换

操作内容:

(A)7?

/FONT>4交换(A)3?

/FONT>0

字节数:

1

机器周期:

1

以N开头的指令只有1条,就是:

1、NOP

指令名称:

空操作指令

指令代码;00H

指令功能:

不执行任何操作,常用于产生一个机器周期的时间延迟。

操作内容:

PC<-(PC)+l

字节数:

1

机器周期:

1

 

以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

字节数:

1

机器周期:

1

2、ORLA,direct

指令名称:

逻辑或操作指令

指令代码:

45H

操作内容:

A<-(A)|(direct)

字节数:

2

机器周期:

1

3、ORLA,@Ri

指令名称:

逻辑或操作指令

指令代码:

46H~47H

指令功能:

累加器内容与内部RAM低128单元内容进行逻辑或操作

操作内容:

A<-(A)|((Ri));i=0,1

字节数:

1

机器周期:

1

4、ORLA,#data

指令名称:

逻辑或操作指令

指令代码:

44H

指令功能:

累加器内容与立即数进行逻辑或操作

操作内容:

A<-(A)|data

字节数:

2

机器周期:

1

5、ORLdirect,A

指令名称:

逻辑或操作指令

指令代码:

42H

指令功能:

内部RAM低128单元或专用寄存器内容与累加器内容进行逻辑或操作

操作内容:

direct<-(direct)|(A)

字节数:

2

机器周期:

1

6、ORLdirect,#data

指令名称:

逻辑或操作指令

指令代码:

43H

指令功能:

内部RAM低128单元或专用寄存器内容与立即数进行逻辑或操作。

操作内容:

direct<-(direct)|data

字节数:

3

机器周期:

2

7、ORLC,bit

指令名称:

位逻辑或操作指令

指令代码:

72H

指令功能:

累加位C状态与内部RAM可寻址位或专用寄存器指定位进行逻辑或操作

操作内容:

C<-(C)|(bit)

字节数:

2

机器周期:

2

8、ORLC,/bit

指令名称:

位反逻辑或操作指令

指令代码:

A0H

指令功能:

累加位C状态与内部RAM可寻址位或专用寄存器指定位的反进行逻辑或操作

操作内容:

C<-(C)|(bit非)

字节数:

2

机器周期:

2

使用说明:

指定位的状态取反后进行逻辑或操作,但并不改变指定位的原来状态。

 

以P开头的指令有2条,分别为:

POPdirect

PUSHdirect

1、POPdirect

指令名称:

出栈指令

指令代码:

D0H

指令功能:

堆栈栈顶单元的内容送内部RAM低128单元或专用寄存器

操作内容:

direct<-(SP)

SP<-(SP)-1

字节数:

2

机器周期:

2

2、PUSHdirect

指令名称:

进栈指令

指令代码:

C0

指令功能:

内部RAM低128单元或专用寄存器内容送堆栈栈顶单元

操作内容:

SP<-(SP)+1

(SP)<-(direct)

字节数:

2

机器周期:

2

以M开头的指令有24条,分别为:

MOVA,Rn

MOVA,direct

MOVA

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 调查报告

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1