微微型计算机原理应用课件41.ppt

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

* dispmsg macro message ;;宏定义 mov ah,9 ;;宏定义体 lea dx,message int 21h endm … dispmsg string ;宏调用(宏指令) … 1 mov ah,9 ;宏展开 1 lea dx,string 1 int 21h 宏的实例2 * 宏与子程序的比较 比较 仅是源程序级的简化:宏调用在汇编时进行程序语句的展开,不需要返回;不减小目标程序,执行速度没有改变 通过形参、实参结合实现参数传递,简捷直观、灵活多变 还是目标程序级的简化:子程序调用在执行时由CALL指令转向、RET指令返回;形成的目标代码较短,执行速度减慢 需要利用寄存器、存储单元或堆栈等传递参数 宏 子程序 * 宏与子程序的比较结论 宏与子程序具有各自的特点,程序员应该根据具体问题选择使用那种方法 通常,当程序段较短或要求较快执行时,应选用宏;当程序段较长或为减小目标代码时,要选用子程序 比较 结论 宏 子程序 * (二)汇编语言程序设计举例 例1 将寄存器BX中的内容以十六进制形式显示出来。 (二进制 十六进制) 例2 将键盘输入的十进制数据串转换成其相应大小的数值 存放在BX寄存器中。 * 有关字符、数码转换的处理 1. 计算机处理字符时,常用的字符编码是ASCII 码。 2. 数字和字母的ASCII码是一个有序序列 数字0~9 : 30H ~ 39H 大写字母A~Z : 41H ~ 5AH 小写字母a~z : 61H ~ 7AH * 3.计算机处理信息时,其对象都是二进制数。 外设(显示器、打印机、键盘等) 用ASCII码与CPU进行信息传送。 例如: 1) 在键盘上按下某一字符键 (如’9’),键盘接口向键盘缓冲区送去的是该字符的ASCII码(如39H),不是送数字09H。 2) 在文本方式下,要在显示器上显示某一字符(如’A’),须将该字符的ASCII码(如41H)送显示缓冲区, 不是送数字0AH。 计算机要利用显示器、键盘等外设时, 须据程序设计的需要进行有关转换。 * 例 将CPU运算的结果通过显示器显示时,如二进制数“A9” 需将结果转换成其对应的ASCII码才能进行显示。 显示缓冲区 存放的内容 ( 字符的 ASCII 码 ) CPU 运算后所得的二进制数 1 0 1 0 1 0 0 1 十六进制形式显示 41 h , 39 h 显示 ’ A9 ’ 十进制形式显示 31 h , 36 h , 39 h 显示 ’ 169 ’ ( 无符号数 ) 2D h , 38 h , 37 h 显示 ’ - 87 ’ ( 带符号数 ) 二进制形式显示 31 h, 30 h, 31 h, 30 h, 31 h, 30 h, 30 h, 31 h 显示 ’ 10101 001 ’ * 例 CPU要处理从键盘输入的某一数据,如键入“1234” 需将该数据串进行转换十六进制后才能应用。 * 例1 将BX寄存器中的内容以十六进制形式显示出来。 BX是一个16位寄存器 二进制 1010 1001 0011 1110 用十六进显示时,每4位用一个字符显示,共4个 其中 0000 →’0’ 30H , 1010 →’A’ 41H 0001 →’1’ 31H , 1011 →’B’ 42H 、、 、、 1001 →’9’ 39H , 1111 →’F’ 46H ? 十六进制 A 9 3 E 屏幕上的显示 ‘A’ ‘9’ ‘3’ ‘E’ 对应的ASCII 41H 39H 33H 45H * 算法: 取出要显示的某4位,转换为对应的ASCII码, 再调用DOS系统功能进行显示。 1) 对于00

文档评论(0)

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

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

1亿VIP精品文档

相关文档