- 1、本文档共143页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【现代企业管理课件】MCS-51指令系统.ppt
例1:当SP=60H,A=30H,B=70H时,执行下列指令 PUSH A PUSH B 结果(61H)=30H (62H)=70H SP=62H 例2:当SP=62H,(62H)=70H,(61H)=30H,执行下列指令 POP DPH POP DPL 结果(DPTR)=7030H (SP)=60H 2. 调用指令 指令名称 指令格式 机器码 功 能 指令周期 绝对调用 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 可见调用指令与跳转指令不同:调用指令用于执行子程序,调用指令中的地址就是子程序的入口地址,子程序执行结束后,要返回主程序继续执行。因此,调用时,需要将指令指针PC压入堆栈,保存PC的当前值,以便在子程序结束前,通过RET指令正确返回,例如: …… LCALL SUB1 ;调用子程序SUB1 MOV 2FH, A …… ORG 3000H SUB1: PUSH PSW …… POP PSW RET 假设LCALL SUB1指令机器码从1003H单元开始存放,由于该指令占3字节,则该指令后的“MOV 2FH, A”指令机器码将从1006H单元存放。执行了“LCALL SUB1”指令后,PC也是1006H,正好是该指令下一条指令机器码的首地址,为了能够返回,先将1006H(即06H、10H)压入堆栈,然后再将SUB1标号对应的存储单元地址,即子程序入口地址装入PC,执行子程序中的指令系列,当遇到RET指令后,又自动将堆栈中的1006H,即断点地址传送到PC中,返回主程序,继续执行。而与之类似的长跳转执行,仅将指令中的存储器地址装入PC,由于没有保护跳转前的PC值,因此无法返回。 绝对调用指令ACALL与绝对跳转指令类似,目标地址与PC当前值的高5位必须相同。 3. 返回指令 表3-17 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 4. 条件跳转指令 表3-18 MCS-51条件跳转指令 二、 条件转移指令 JZ rel; (A)= 0 转移 JNZ rel; (A)≠0 转移 这类指令是依据累加器A的内容是否为 0 的条件转移指令。条件满足时转移(相当于一条相对转移指令), 条件不满足时则顺序执行下面一条指令。转移的目标地址在以下一条指令的起始地址为中心的 256 个字节范围之内(-128~ +127)。当条件满足时, PC←(PC)+N+rel, 其中(PC)为该条件转移指令的第一个字节的地址, N为该转移指令的字节数(长度), 本转移指令N=2。 三、 比较转移指令 在MCS - 51 中没有专门的比较指令, 但提供了下面 4 条比较不相等转移指令: CJNE A, direct, rel CJNE A, #data, rel CJNE Rn, #data, rel CJNE @Ri, #data, rel 这组指令的功能是: 比较前面两个操作数的大小, 如果它们的值不相等则转移。转移地址的计算方法与上述两条指令相同。如果第一个操作数(无符号整数)小于第二个操作数, 则进位标志Cy置“1”, 否则清“0”, 但不影响任何操作数的内容 指令名称 指令格式 机器码 功 能 指令周期 BCD加法 调正 DA A 根据进位标志Cy、辅助进位标志Ac以及累加器A中结果,将累加器A内容转化为BCD码形式 1 7. 十进制加法调正指令 对累加器A参与的BCD码加法运算所获得的 8 位结果进行十进制调整, 使累加器A中的内容调整为二位压缩型 BCD码的数。使用时必须注意, 它只能跟在加法指令之后, 不能对减法指令的结果进行调整, 且其结果不影响溢出标志位。 执行该指令时, 判断 A中的低 4 位是否大于
您可能关注的文档
最近下载
- _高中英语必修二Unit_3_Computers阅读课的教学设计及反思.doc VIP
- 民用无人驾驶航空器系统驾驶员管理暂行规定.pdf VIP
- 高中英语必修二Unit 3 Computers阅读课的教学设计.doc VIP
- 英语必修二Unit3Computers阅读课教案.doc VIP
- 工程总承包居间合同(2025版).docx VIP
- 压裂实时裂缝诊断的高频压力裂缝监测技术MWF(Measurement While Fracturing).docx VIP
- 2 从立体图形到平面图形 第2课时 棱柱、圆柱、圆锥的展开与折叠 教案 2024-2025学年-北师大版(2024)数学七年级上册.docx VIP
- 入党积极分子、发展对象培养教育考察登记表(空表).doc VIP
- 铝合金门窗企业危险源辨识、风险分级管控资料.docx VIP
- 《中医基础理论》ppt课件.pptx VIP
文档评论(0)