完整word51单片机汇编指令集推荐文档.docx

上传人:b****2 文档编号:1458372 上传时间:2022-10-22 格式:DOCX 页数:29 大小:22.18KB
下载 相关 举报
完整word51单片机汇编指令集推荐文档.docx_第1页
第1页 / 共29页
完整word51单片机汇编指令集推荐文档.docx_第2页
第2页 / 共29页
完整word51单片机汇编指令集推荐文档.docx_第3页
第3页 / 共29页
完整word51单片机汇编指令集推荐文档.docx_第4页
第4页 / 共29页
完整word51单片机汇编指令集推荐文档.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

完整word51单片机汇编指令集推荐文档.docx

《完整word51单片机汇编指令集推荐文档.docx》由会员分享,可在线阅读,更多相关《完整word51单片机汇编指令集推荐文档.docx(29页珍藏版)》请在冰豆网上搜索。

完整word51单片机汇编指令集推荐文档.docx

完整word51单片机汇编指令集推荐文档

1)数据传送类指令(7种助记符)

MOV(英文为Move):

对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送;

MOVC(MoveCode)读取程序存储器数据表格的数据传送;

MOVX (MoveExternalRAM) 对外部RAM的数据传送;

XCH (Exchange) 字节交换;

XCHD (Exchangelow-orderDigit) 低半字节交换;

PUSH (PushontoStack) 入栈;

POP (PopfromStack) 出栈;

(2)算术运算类指令(8种助记符)

ADD(Addition)加法;

ADDC(AddwithCarry)带进位加法;

SUBB(SubtractwithBorrow)带借位减法;

DA(DecimalAdjust)十进制调整;

INC(Increment)加1;

DEC(Decrement)减1;

MUL(Multiplication、Multiply)乘法;

DIV(Division、Divide)除法;

(3)逻辑运算类指令(10种助记符)

ANL(ANDLogic)逻辑与;

ORL(ORLogic)逻辑或;

XRL(Exclusive-ORLogic)逻辑异或;

CLR(Clear)清零;

CPL(Complement)取反;

RL(Rotateleft)循环左移;

RLC(RotateLeftthroughttheCarryflag)带进位循环左移;

RR(RotateRight)循环右移;

RRC (RotateRightthroughttheCarryflag)带进位循环右移;

SWAP(Swap) 低4位与高4位交换;

(4)控制转移类指令(17种助记符)

ACALL(AbsolutesubroutineCall)子程序绝对调用;

LCALL(LongsubroutineCall)子程序长调用;

RET(Returnfromsubroutine)子程序返回;

RETI(ReturnfromInterruption)中断返回;

SJMP(ShortJump)短转移;

AJMP(AbsoluteJump)绝对转移;

LJMP(LongJump)长转移;

CJNE(CompareJumpifNotEqual)比较不相等则转移;

DJNZ(DecrementJumpifNotZero)减1后不为0则转移;

JZ(JumpifZero)结果为0则转移;

JNZ(JumpifNotZero)结果不为0则转移;

JC(JumpiftheCarryflagisset)有进位则转移;

JNC(JumpifNotCarry)无进位则转移;

JB(JumpiftheBitisset)位为1则转移;

JNB(JumpiftheBitisNotset)位为0则转移;

JBC(JumpiftheBitissetandClearthebit)位为1则转移,并清除该位;

NOP(NoOperation) 空操作;

(5)位操作指令(1种助记符)

SETB(SetBit) 位置1。

 

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

ACALLaddr11ADDA,RnADDA,directADDA,@RiADDA,#dataADDCA,Rn

ADDCA,directADDCA,@RiADDCA,#dataAJMPaddr11ANLA,RnANLA,directANLA,@RiANLA,#dataANLdirect,AANLdirect,#dataANLC,bitANLC,/bit

1、ACALLaddr11

指令名称:

绝对调用指令

指令代码:

A10A9A910001A7A6A5A4A3A2A1A0

指令功能:

构造目的地址,进行子程序调用。

其方法是以指令提供的11位地址(al0~a0),

取代PC的低11位,PC的高5位不变。

操作内容:

PC←(PC)+2

SP←(SP)+1

(SP)←(PC)7~0

SP←(SP)+1

(SP)←(PC)15~8

PC10~0←addrl0~0

字节数:

2

机器周期:

2

使用说明:

由于指令只给出子程序入口地址的低11位,因此调用范围是2KB。

2、ADDA,Rn

指令名称:

寄存器加法指令

指令代码:

28H~2FH

指令功能:

累加器内容与寄存器内容相加

操作内容:

A←(A)+(Rn),n=0~7

字节数:

1

机器周期;1

影响标志位:

C,AC,OV

3、ADDA,direct

指令名称:

直接寻址加法指令

指令代码:

25H

指令功能:

累加器内容与内部RAM单元或专用寄存器内容相加

操作内容:

A←(A)+(direct)

字节数:

2

机器周期:

1

影响标志位:

C,AC,OV

4、ADDA,@Ri’

指令名称:

间接寻址加法指令

指令代码:

26H~27H

指令功能:

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

操作内容:

A←(A)+((Ri)),i=0,1

字节数:

1

机器周期:

1

影响标志位:

C,AC,OV

5、ADDA,#data

指令名称:

立即数加法指令

指令代码:

24H

指令功能:

累加器内容与立即数相加

操作内容:

A←(A)+data

字节数:

2

机器周期:

1

影响标志位:

C,AC,OV

6、ADDCA,Rn

指令名称:

寄存器带进位加法指令

指令代码:

38H~3FH

指令功能:

累加器内容、寄存器内容和进位位相加

操作内容:

A←(A)+(Rn)+(C),n=0~7

字节数:

1

机器周期:

1

影响标志位:

C,AC,OV

7、ADDCA,direct

指令名称:

直接寻址带进位加法指令

指令代码:

35H

指令功能:

累加器内容、内部RAM低128单元或专用寄存器内容与进位位加

操作内容:

A←(A)+(direct)+(C)

字节数:

2

机器周期:

1

影响标志位:

C,AC,OV

8、ADDCA,@Ri

指令名称:

间接寻址带进位加法指令

指令代码:

36H~37H

指令功能:

累加器内容、内部RAM低128单元内容及进位位相加

操作内容:

A←(A)+((Ri))+(C),i=0,1

字节数:

1

机器周期:

1

影响标志位:

C,AC,OV

9、ADDCA,#data

指令名称:

立即数带进位加法指令

指令代码:

34H

指令功能:

累加器内容、立即数及进位位相加

操作内容:

A←(A)+data+(C)

字节数:

2

机器周期:

1

影响标志位:

C,AC,OV

10、AJMPaddr11

指令名称:

绝对转移指令

指令代码:

A10A9A810001A7A6A5A4A3A2A1A0

指令功能:

构造目的地址,实现程序转移。

其方法是以指令提供的11位地址,取代PC的低11位,.而PC的高5位保持不变。

操作内容:

PC←(PC)+2

PCl0~0←addrll

字节数:

2

机器周期:

2

使用说明:

由于addrll的最小值是000H,最大值是7FFH,因此地址转移范围是2KB。

11、ANLA,Rn

指令名称:

寄存器逻辑与指令

指令代码:

58H~5FH

指令功能:

累加器内容逻辑与寄存器内容

操作内容:

A←(A)∧(Rn),n=0~7

字节数:

1

机器周期:

1

12、ANLA,direct

指令名称:

直接寻址逻辑与指令

指令代码:

55H

指令功能:

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

操作内容:

A←(A)∧(diret)

字节数:

2

机器周期:

1

13、ANLA,@Ri

指令名称:

间接寻址逻辑与指令

指令代码:

56H~57H

指令功能:

累加器内容逻辑与内部RAM低128单元内容

操作内容:

A←(A)∧((Ri))i=0,1

字节数:

1

机器周期:

1

14、ANLA,#data

指令名称:

立即数逻辑与指令

指令代码:

54H

指令功能:

累加器内容逻辑与立即数

操作内容:

A←(A)∧data

字节数:

2

机器周期:

1

15、ANLdirect,A

指令名称:

累加器逻辑与指令

指令代码:

52H

指令功能:

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

操作内容:

direct←(A)∧(direct)

字节数:

2

机器周期:

1

16、ANLdirect,#data

指令名称:

逻辑与指令

指令代码:

53H

指令功能:

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

操作内容:

direct←(direct)∧data

字节数:

3

机器周期:

2

17、ANLC,bit

指令名称:

位逻辑与指令

指令代码:

82H

指令功能:

进位标志逻辑与直接寻址位

操作内容:

C←(C)∧(bit)

字节数:

2

机器周期:

2

18、ANLC,/bit

指令名称:

位逻辑与指令

指令代码:

B0H

指令功能:

进位标志逻辑与直接寻址位的反

操作内容:

C←(C)∧(bit)

字节数:

2

机器周期:

2

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

CJNEA,dircet,relCJNEA,#data,relCJNERn,#data,relCJNE@Ri,#data,relCLRACLRCCLRbitCPLACPLCCPLbit 

1、CJNEA,dircet,rel

指令名称:

数值比较转移指令

指令代码:

B5H

指令功能:

累加器内容与内部RAM低128字节或专用寄存器内容比较,不等则转移。

操作内容:

若(A)=(direct),则PC←(PC)+3,C←0

若(A)>(direct),则PC←(PC)+3+rel,C←0

若(A)<(direct),则PC←(PC)+3+rel,C←1

字节数:

3

机器周期:

2

2、CJNEA,#data,rel

指令名称:

数值比较转移指令

指令代码:

B4H

指令功能:

累加器内容与立即数比较,不等则转移。

操作内容:

若(A)=data,则PC←(PC)+3,C←0

若(A)>data,则PC←(PC)+3+rel,C←0

若(A)<data,则PC←(PC)+3+rel,C←1

字节数:

3

机器周期:

2

3、CJNERn,#data,rel

指令名称:

数值比较转移指令

指令代码:

B8H~BFH

指令功能:

寄存器内容与立即数比较,不等则转移。

操作内容:

若(Rn)=data,则PC←(PC)+3,C←0

若(Rn)>data,则PC←(PC)+3+rel,C←0

若(Rn)<data,则PC←(PC)+3+rel,C←1

字节数:

3

机器周期:

2

4、CJNE@Ri,#data,rel

指令名称:

数值比较转移指令

指令代码:

B6H~B7H

指令功能:

内部RAM低128单元内容与立即数比较,不等则转移。

操作内容:

若((Ri))=data,则PC←(PC)+3,C←0

若((Ri))>data,则PC←(PC)+3+rel,C←0

若((Ri))<data,则PC←(PC)+3+rel,C←1

字节数:

3

机器

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

当前位置:首页 > 高中教育 > 其它课程

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

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