[工学]第3章 MCS-51指令系统.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]第3章 MCS-51指令系统

汇编控制指令(伪指令): 常用伪指令及其功能: 1.ORG—起始地址指令:指明程序和数据块起始地址。 指令地址 机器码 源程序 ORG 2000H 2000H 78 30 MAIN:MOV R0,#30H 2002H E6 MOV A,@R0 … ORG 3000H 3000H 23 DB 23H,100,‘A’ 3001H 64 3002H 41 5. END — 结束汇编指令。 例:START: … … END START 完整的汇编语言程序 【例3.1】 将30H单元内的两位BCD码拆开并转换成ASCII码,存入RAM两个单元中。程序流程如图3-1所示。参考程序如下: ORG 2000H MOV A,30H ;取值 ANL A,#0FH ;取低4位 ADD A,#30H ;转换成ASCII码 MOV 32H,A ;保存结果 MOV A,30H ;取值 SWAP A ;高4位与低4位互换 ANL A,#0FH ;取低4位(原来的高4位) ADD A,#30H ;转换成ASCII码 MOV 31H,A ;保存结果 SJMP $ END 一、调用指令 表7-17 MCS-51调用指令 指令名称 指令格式 机器码 功 能 指令周期 绝对调用 ACALL addr11 a10a9a810001 a7~a0 PC←PC+2 SP←SP+1 (SP)←PC低8位 SP←SP+1 (SP)←PC高8位 PC10~0←addr11 PC15~11不变 2 长调用 LCALL addr16a15~a8 a7~a0 PC←PC+3 SP←SP+1 (SP)←PC低8位 SP←SP+1 (SP)←PC高8位 PC←addr15~0 2 (1) 长调用指令“LCALL addr16”:执行时,先将 PC 加 3,指向下条指令的地址,然后将断点地址压入堆栈,再把指令中的 16 位子程序入口地址装入 PC,程序转到子程序开始执行。 (2) 绝对调用指令“ACALL addr11”:执行时,先将 PC 加 2,指向下条指令的地址,然后将断点地址压入堆栈,再把指令中的 11 位子程序入口地址装入 PC,程序转到子程序开始执行。 对于 LCALL 指令来说,被调用的子程序入口地址可以是 64K ROM 中的任意位置。而对于 ACALL指令来说,被调用子程序的入口地址必须与“ACALL”指令的下一条指令在相同的 2KB 存储区内。 调用指令与跳转指令不同: …… LCALL SUB1 MOV 2FH, A …… ORG 3000H SUB1: PUSH PSW …… POP PSW RET (1)调用指令用于执行子程序,调用指令中的地址就是子程序的入口地址。而跳转指令不涉及子程序调用的问题。 (2)使用了子程序调用指令进入到子程序执行结束后,需要返回主程序继续执行。因此,调用时,需要将指令指针PC压入堆栈,保存PC的当前值,以便在子程序结束前,通过RET指令正确返回,例如: 二、返回指令 表3-18 MCS-51调用指令 指令名称 指令格式 机器码 功 能 指令周期 子程序返回指令 RETPC高8位←(SP) SP←SP-1 PC低8位←(SP) SP←SP-1 2 中断返回指令 RETIPC高8位←(SP) SP←SP-1 PC低8位←(SP) SP←SP-1 2 (1) 子程序返回指令“RET”:当子程序执行完后,在子程序的最后一条指令必须是“RET”指令,用来返回源断点处继续执行原来的程序。执行该指令时,将堆栈内的断点地址弹出,送入 PC,于是程序就返回到了原断点地址。 (2) 中断返回指令“RETI”:该指令是在中断服务程序的最后一条指令,用于中断服务程序执行完后返回断点。执行该指令时,仍然是将堆栈中保留的断点信息弹出。 注: RET 指令与 RETI 指令决不能互换使用。前者是子程序的最后一条指令;后者是中断服务程序的最后一条指令。 3.7.4 空操作指令 表3-20 MCS-51空操作指令 指令名称 指令格式 机器码 功 能

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档