东北大学自动化复习课件微机原理及接口技术(第三章-6).ppt

东北大学自动化复习课件微机原理及接口技术(第三章-6).ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 19 例 CPU要处理从键盘输入的某一数据,如键入“1234” 需将该数据串进行转换十六进制后才能应用。 20 例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 21 算法: 取出要显示的某4位,转换为对应的ASCII码, 再调用DOS系统功能进行显示。 1) 对于0000~1001(0~9), 先扩展成一个字节,高4位清0, 加上30H后, 即可得字符’0’~’9’对应的ASCII码。 0000 0001B + 30H= 31H 0000 1001B + 30H=39H 0001B ‘1’ 1001B ‘9’ 2) 对于1010~1111(A~F), 先扩展成一个字节,高4位清0, 加上30H后, 还要再加上07H,才能得到’A’~’F’ 对应的ASCII码 0000 1010B+30H+07H = 41H 0000 1111B+30H+07H =46H 1010B ‘A’ 1111B ‘F’ 22 code SEGMENT ASSUME CS:code start: MOV CH, 4 ;字符个数 MOV CL, 4 ;循环移位次数 next: ROL BX, CL ;取显示位的值 MOV DL, BL ;保存在DL中 AND DL, 0FH ;清除高4位 ADD DL, 30H ;转变为数字的ASCII CMP DL, 39H ;大于39H, 则应转变 JLE print ;为字母A~F的ASCII ADD DL, 07H print: MOV AH, 2H ;显示DL中的字符 INT 21H DEC CH ;显示结束? JNZ next MOV AH, 4CH ;返回DOS INT 21H code ENDS END start 显示字符个数CH=4 循环移位次数CL=4 BX循环左移4位,将要显示的值移至低4位,保存在DL中 清DL 的高4位, 只保留要显示位的值 DL ← DL+30H 完成数值0~9的ASCII码转换 Y N DL←DL+07H 完成数值A~F的ASCII码转换 用02功能显示DL中的字符 Y N 返回DOS DL 超出39H? CH ←CH-1转换结束? 开始 23 思考: 1. 例1采用的是大写字母A~F进行显示, 若采用小写字符a ~ f 进行显示,程序如何改写? 1010 0011 1001 1110 ‘A39E’ 或 ‘a39e’ 2. 编程将 CPU 内 14

文档评论(0)

潮起潮落 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档