任务二指令系统和控制指令

任务二指令系统和控制指令

ID:39817665

大小:409.10 KB

页数:26页

时间:2019-07-12

任务二指令系统和控制指令_第1页
任务二指令系统和控制指令_第2页
任务二指令系统和控制指令_第3页
任务二指令系统和控制指令_第4页
任务二指令系统和控制指令_第5页
资源描述:

《任务二指令系统和控制指令》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、任务二相关指令指令系统简介控制指令1:MCS-51指令系统的概述MCS-51共有111条指令,指令的长度和执行时间因不同的指令而各不相同。1.1指令格式1.2指令的三种表示形式1.3指令的字节数1.4指令的分类继续1.1指令格式:指令格式:既指令的结构形式。OPDATA或ADDRESS操作码操作数或操作数地址由操作码和操作数(或操作数地址)构成指令的结构。举例:MOVA,0FFHADDA,R0返回00100100B24H00001000B08HADDA,#08H一般格式为:操作助记符[目的操作数][

2、,源操作数][;注释]二进制表示形式十六进制表示汇编格式返回1.2指令的三种表示形式:1.3指令的字节数在MCS-51单片机的指令系统中,因指令操作码和操作数的不同,指令(在存储器中)长度也各不相同。分为单字节、双字节和三字节。单字节指令(49条)MOVA,R0双字节指令(45条):指令的操作码和操作数各占一个字节。如:MOVA,#data很明显:8位的操作数本身占据一个字节。程序存储器01110100datann+1mova,#data双字节指令在程序存储器的存放示意图三字节指令(17条):指令中

3、的操作数为双字节。如:MOVDPTR,#data16或者:指令中分别包含1个字节的操作数和1个字节的操作数地址。如:MOVdirect,#data举例:MOV20H,#0FFH10010000data15-8data8-0MOVdptr,#data16OP(75H)direct(20H)data(FFH)MOVdirect,#data三字节指令在存储器中存放的方式示意图1.2控制转移指令:22条功能:用于改变程序计数器PC值,以控制程序的流向有效区间:ROM标志位:这些指令的执行一般都不会对标志位有

4、影响无条件转移指令(4条)条件转移指令(8条)位控制转移指令(5条)子程序调用和返回指令(4条)空操作指令(1条)(1)无条件转移指令:4条长转移指令LJMP绝对转移指令AJMP短转移指令SJMP间接转移指令JMP注意:addr16通常采用符号地址表示可以在64KB(0000H~FFFFH)范围内转移的指令三字节双周期指令功能:将指令中16位目标地址码送入程序计数器PC,使程序执行下条指令时无条件转移到addr16去执行长转移指令LJMPaddr16;addr16→(PC)绝对转移指令AJMP ad

5、dr11;(PC)+2→(PC)当前值,(addr11)→(PC)10-0功能:指令中提供11位地址,与PC当前值的高5位共同组成16位目标地址→程序无条件转向目标地址注意:该指令是一条可以在2K范围内转移的指令转移的目标地址是通过计算获得,该过程是系统自动完成的双字节双周期指令1010000110100101XXXXX10110100101A10A9A8操作码A7~A0AJMP指令PC程序计数器短跳转指令举例例:若AJMP指令地址(PC)=2300H,执行指令AJMP0FFH后,结果为:转移目的地

6、址(PC)=20FFH,程序向前转到20FFH单元开始执行。00000001111111110010000011111111A10A9A8操作码A7~A0AJMP指令PC程序计数器01100000010PC当前值+2EX:2FFFHAJMP17BH(PC)当前值=2FFFH+2=3001H→(PC)转移=317BH00100001011110110011000101111011A10A9A8操作码A7~A0AJMP指令PC程序计数器短转移指令SJMPrel;(PC)+2→(PC)当前值,(PC)当前

7、值+rel→(PC)注意:短转移指令是一条相对转移指令双字节双周期指令SJMP$→停机指令,并非真正的停机指令如:1000HSJMP89H(PC)转移=1000H+2+89H=1002H+FF89H=0F8BHFE(-2)功能:先使PC加2后的地址和rel相加作为目标转移地址rel为地址偏移量,为带符号8位二进制,常用补码表示,范围为-128~+127,因此,程序转移范围为当前PC前128字节,或后127字节间接转移指令JMP @A+DPTR;((A)+(DPTR))→(PC)功能:将累加器A中的8

8、位无符号数与16位数据指针相加,其和装入程序计数器PC中,控制程序转向目标地址注意:用户应预先把目标地址的基地址送入DPTR,目标地址对基地址的偏移量放入累加器A中这是一条很有用的散转指令,转移地址不是在编程时确定的,而是在程序运行时动态决定的多用于多分支程序中,DPTR装入多分支程序的首地址,由累加器A的内容动态选择其中的某一分支进行分支转移(2)条件转移指令:8条特点:是一种在执行过程中需要判断某种条件是否满足而决定程序流程如满足条件就转移,否则就不转移,顺序执行

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。