- 1、本文档共69页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 本例中堆栈的操作示意图见图4-10。当主程序第 一次执行PUSH 50H时,把50H中的内容压入40H单元内。 执行ACALL HASC指令后,则主程序的断点地址高低位分别压 入41H、42H单元。进入子程序后,二次执行DEC SP,则把堆 栈指针修正到40H。此时执行POP ACC则把40H中的数据(即 50H单元内容)弹入到ACC中。当查完表以后,执行PUSH ACC,则已转的ASCII码值压入堆栈的40H单元, 二次执行 INC SP,则SP变为42H,此时执 行RET指令,则恰好把原断点内容 又送回PC,SP又指向40H,所以 返回主程序后执行 POP 51H, 正好把40H的内容弹出到51H。 第二次调用过程类似,不再赘述。 * 例4-16 两个8位有符号数加法,和超过8位。 编程说明:在计算机中,有符号数一律用补码表示,两 个有符号数的加法,实际上是两个数补码相加,由于和超 过8位,因此,和就是一个16位符号数,其符号位在16位 数的最高位。在进行这样的加法运算时,应先将8位数符 号扩展成16位,然后再相加。 符号扩展的原则:若是8位正数,则高8位扩展为00H ;若是8位负数,则高8位扩展为FFH。经过符号扩展之后 ,再按双字节相加,则可以得到正确的结果。 编程时,寄存器R2和R3作两个加数的高8位,并先令其为 全0,即先假定两个加数为正数,然后判别符号位,根据 符号位再决定是否将其高8位改为FFH。 子程序入口:(R0)=存放加数的首地址, (R1)=存放和的首地址 工作寄存器:R2作加数的高8位, R3作另一个加数的高8位 4.3.5 运算类程序 * SBADD:MOV R2,#00H ;高8位先设0 MOV R3,#00H MOV A,@R0 ;取出第一个加数 JNB ACC.7,N1 ;若是正数,则转N1 MOV R2,#0FFH ;若是负数,高8位送全1 N1: INC R0 ;修改R0指针 MOV B,@R0 ;取第二个加数到B JNB B.7,N2 ;若是正数,则转N2 MOV R3,#0FFH ;是负数,高8位送全1 N2: ADD A,B ;低8位相加 MOV @R1,A ;存和的低8位 INC R1 ;修改R1指针 MOV A,R2 ;取一个加数的高8位送A ADDC A,R3 ;高8位相加 MOV @R1,A ;存和的高8位 RET 在调用该子程序时,只需把加数及和的地址置入R0和R1,就可以调用这个子程序。 * 例4-17 两个8位带符号数的乘法程序。 编程说明:MCS-51的乘法指令是对两个无符号数求积,若是带符号数相乘,应作如下处理: (1)保存被乘数和乘数的符号,并由此决定乘积的符号。决定积的符号时可使用位运算指令进行异或操作—通过位的与、或运算来完成。 (2)被乘数或乘数均取绝对值相乘,最后,再根据积的符号,冠以正号或者负号。正数的绝对值是其原码本身,负数的绝对值是通过求补码来实现的。 (3)若积为负数,还应把整个乘积求补,变成负数的补码。 子程序入口:(R0)=被乘数,(R1)=乘数 出口:(R3)=积的高8位,(R2)=积的低8位 程序流程图如图4-11所示。 * * 通过上述编程实例,介绍了汇编语言程序设计的各种情况。从中可以看出,程序设计主要涉及两个方面的问题:一是算法,或者说程序的流程图;二是工作单元的安排。在以上例子中,8个工作寄存器已够用,有时也会出现不够用的情况,特别是可以用于间接寻址的寄存器只有R0和R1,很容易不够用,这时,可通过设置RS1、RS0,以选择不同的工作寄存器组,这一点在使用上应加以注意。 * The End 本章结束 * 图(a)结构是“先执行后判断”,适用于循环次数已知的情况。
您可能关注的文档
- 岳阳 物联网智能车辆监控管理平台.pptx
- 第4讲 串并行通信和接口技术.ppt
- 校园宠物—阿汤猫模板.ppt
- 高清网络视频监控系统幻灯片.ppt
- U8V11.0产品-网上银行及资金接口.pptx
- 经典纪录片赏析知识点制作基础.pptx
- 降低不锈钢管道连接口的返修率.ppt
- 星悦城认筹客户分析及竞品监控.ppt
- 星悦城近期竞品监控.ppt
- 案例评优现场宣讲-常州海关视频监控及移动查验平台项目.pptx
- 2023军队文职人员招聘笔试《戏剧与影视》备考真题汇编及答案.pdf
- ARA公司绩效与薪酬管理方案.pdf
- AQ 3010—2022 加油站作业安全规范.pdf
- A7技术支持的总结提升作业1——初中地理《土地资源》教学设计.pdf
- CAN-bus产品技术配置手册.pdf
- 【第8季省考&第2季国考-数资】数学运算差异题(国考副省级、浙江、江苏)-李晟.docx
- 【第8季省考&第2季国考-数资】数学运算差异题(国考副省级、浙江、江苏)-李晟.pptx
- 【第9季国考&第2季省考-言语】1篇5问篇章(国考副省、江苏ABC、北京、吉林、上海)-张琳卉.docx
- 【第9季国考&第2季省考-言语】1篇5问篇章(国考副省、江苏ABC、北京、吉林、上海)-张琳卉.pptx
- 【第9季省考&第3季国考-言语】+1篇5问篇章-张琳卉.docx
最近下载
- 《矿山企业温室气体排放核算方法与报告指南(试行)》.docx
- JGJ_T496-2022 房屋建筑统一编码与基本属性数据标准.docx
- [金属冶金标准]GBT 14506.8-2010 硅酸盐岩石化学分析方法 第8部分:二氧化钛量测定.pdf
- 掘进安全管理课件.pptx
- 钢平台验收记录表.docx
- IPC-2221C-EN TOC2023印制版设计通用标准 Generic Standard on Printed Board Design.pdf
- 小学数学《图形的运动》作业设计.docx
- 看课件-成人气道异物梗阻救护.ppt
- 中职旅游类《前厅服务与管理》职教高考必备试题库(含答案).docx
- 公务员平时考核评鉴表(空表).pdf VIP
文档评论(0)