汇编语言程序设计教程2版6章课件.pptVIP

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言程序设计教程2版6章课件

第6章 汇编语言程序设计;本章内容简介;6.1 程序设计思想;编制汇编语言程序的步骤;程序设计方法;6.2 顺序程序设计 ;例6-2 把存单元A和B中的两个单字节压缩BCD码相加,结果存到C单元中。;例6-3 首先将FIRST与SECOND字变量相加,结果存至THIRD1存储字中,然后将FIRST与SECOND两个字变量相乘,结果存至THIRD2开始的两个存储字中。 掌握要点: (1)数据段的变量类型要定义正确;(2)加法和乘法指令;(3)相乘结果的存储方法。 本程序存在什么问题吗?;例6-4 将存储单元BUF中2个压缩BCD数拆成2个非压缩BCD码,低位BCD数存入BUF1中,高位BCD数存于BUF2中,并将对应的ASCII码存入BUF3及BUF4中。 掌握要点: (1)数据段的定义方法;(2)压缩BCD数拆成2个非压缩BCD码的方法;(3)非压缩BCD码的转换为ASCII码的方法。;例6-5 编程求以下运算:Y=X1-(X2+X3)。 掌握要点: (1)数据段的定义方法;(2) 熟悉加减法指令;(3) 寄存器的用法。 还有其它方法吗? Mov al,x2 Add al,x3 Mov cl,x1 Sub cl,al Mov y,cl;6.3 分支程序设计;分支程序结构 ;分支程序的地址识别;“与”、“或”操作 Mov al,-3 ;-3为83H And al,FFH ;sf为NG Or al,00H ; sf为NG 或 And al,al ;sf为NG Or al,al ; sf为NG;掌握要点: (1)数据的定义方法,置数据段的方法; (2)OR AX,AX指令影响SF和ZF; (3) 条件转移指令; (4)结果的表示及存储方法。;辰妇尔眉咆赦勿疵拜脐盂纪芥锦委孰巩艾抛舞闪裙卷惑互坟晰惶足浊蓉排汇编语言程序设计教程2版6章课件汇编语言程序设计;掌握要点: (1)数据的定义方法,置数据段的方法; (2)比较两数大小的方法,符号数的条件转移指令; (3) 字符的表示及显示一个字符的方法(P202)。;二进制数与压缩BCD码的区别: 如:34H若为二进制数,相当于十进制数的52; 34H若为压缩BCD码就是十进制数的34。;掌握要点: (1)堆栈段的定义方法(P123); (2)除法指令及字节扩展到字; (3) 二进制数转换为压缩BCD码的方法(扩充); (4)二进制数与压缩BCD码的区别。;改进后的程序;狮烷哇鹅谰牡睛陋吹冬君场惺拾与卤原煎班丁集无即蔫提钝愉高租纸铡遮汇编语言程序设计教程2版6章课件汇编语言程序设计;哉阶颠岁箱逸搅断寸夜帅瓷抚狐匀篇葱遍彬颊士诈氛慎郭萌噶起瘤茎冷用汇编语言程序设计教程2版6章课件汇编语言程序设计;掌握要点: (1)字符串数据的定义方法; (2)由键盘输入一个字符的设计方法; (3) 显示一个字符串的方法; (4) 回车换行的设计方法。 书上的程序有一处错误!;6.4 循环程序设计;6.4.1 循环程序的基本结构;循环程序的基本结构;6.4.2 循环程序设计 ;例6-10 将十进制数的ASCII码转换为非压缩BCD码。 问题分析: (1)已知数据和转换结果的存放,非十进制数的ASCII码的处理存放; (2)十进制数的ASCII转换BCD减30H。 程序框图: (如右);掌握要点: (1)非十进制数的ASCII码的处理存放方法; (2)十进制数的ASCII转换BCD 的方法; (3) 循环语句。;例6-11 将某字单元中的二进制数以十六进制数的形式显示在屏幕上。 问题分析: (1)分离出每个4位,然后进行转换。 (2)注意的是,0~9的ASCII为30~39H,而A~F的ASCII为41~46H 。 程序框图: (如右);掌握要点: (1)分离出每个4位二进制数的方法,转换成十六进制数的方法; (2)显示十六进制数的方法; (3) 用条件转移指令实现循环的方法。 问题:(1)为什么设置堆栈; (2)为什么不用LOOP循环; (3)A1的位置合理吗?;例6-12 在指定的内存单元中,查找关键字00H。 问题分析: (1)不知循环次数,将00H作为循环控制变量。 (2)只要找到关键字00H ,则循环结束,并显示结果。 程序框图 (如右);掌握要点: (1) 查找关键字的设计方法; (2)用无条件转移指令实现循环的方法;;例6-13 求1~100的自然数之和。 问题分析: (1)加数的形成。 (2)累加和为二进制数,应变换为4位十进制数 ,方法多,本例采用的是减法方式(P178)。 (3)存入结果。 程序框图: (如右);运行程序;掌握要点: (1)累加和的实现方法; (2)累加和转换为十进制数的方法(即千、百、十及个位

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档