(精)汇编语言程序设计实践教程.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.2.3 常用ASCII 61H~7AH 小写字母a~z 41H~5AH 大写字母A~Z 30H~39H 数字0~9 24H $ 20H 空格符SF 0DH 回车符CR 0AH 换行符LF 08H 退格符BS 07H 响铃符BEL ASCII 字符 00H~1FH:特殊符号, 不可显示。 屏幕操作控制、 打印机操作控制、 文本文件中的特殊标记 通信设备控制等 换行:显示光标行号+1 回车:显示光标列号清0 5.2.4 ASCII与十/十六进制转换 ASCII 十进制数 ASCII 十六进制数 ASCII 二进制数 +30H -30H +30H -30H +30H或+37H -30H或-37H 一位数字对应一个ASCII ASCII不一定都能转换为数字, ∴键盘输入十/十六进制数时,必须判断数字是否正确 5.3 键盘输入和屏幕显示程序 程序功能: 键盘输入一个最多5位的十进制数(≤65535); 转换为4位十六制数,并在屏幕上显示。 掌握键盘输入、屏幕显示功能调用; 了解功能调用、中断调用的使用; 掌握大型程序编程中程序模块的划分 5.3.1 编程思路 程序必须分三步进行: ①键盘输入,ASCII转换为十进制数 每位输入时,要判断是否在0~9之内, 5位输入完,要判断是否≤65535。 ②十进制数转换为十六进制数 ③十六进制数转换为ASCII,显示 任何键盘输入功能必须有容错能力! 假定操作者任何一个按键都有可能按下! DECBIN BINHEX 分为两个子程序 显示输入十进制数提示 开始 置数据段首地址 调用DECBIN子程序 调用回车换行宏指令 显示十六进制数结果提示 调用BINHEX子程序 调用回车换行宏指令 5.3.2 程序流程 主程序流程图 不断循环,可重复输入; 停止程序运行用Ctrl+C。 两个子程序间用BX传递数据 DECBIN子程序流程图 开始 BX清0 AL←键盘输入 AL←AL-30H 有借位? AL≥A? AH←0 子程序返回 N N Y Y AX、BX交换 DX、AX←AX×0AH DX≠0? BX←BX+AX 有进位? 显示输入太大提示 结束 N N Y Y Y CH-1=0? 1位显示 N 开始 CH←4 BX循环左移4位 DL←BL DL←DL低4位 DL←DL+30H DL≥3A? DL←DL+7 子程序返回 N Y BINHEX子程序流程图 5.3.2 程序清单 数据段和宏指令 DATA SEGMENT ECHO1 DB INPUT DECIMAL:$ ECHO2 DB HEX RESULT IS:$ ECHO3 DB TOO BIG!$ DATA ENDS CRLF MACRO ;定义宏指令,回车换行 MOV AH,2 MOV DL,0AH ;显示换行符 INT 21H MOV AH,2 MOV DL,0DH ;显示回车符 INT 21H ENDM 带参数宏指令 注意宏指令与子程序的区别 宏指令的调用: CRLF 展开 主程序 REPEAT: MOV AH,9 MOV DX,OFFSET ECHO1 INT 21H ;显示十进制输入提示信息 CALL DECBIN ;调用键盘输入 ;并转换为十六进制的子程序 CRLF ;光标移到下一行的开始处 MOV AH,9 MOV DX,OFFSET ECHO2;显示十六进制输出提示信息 INT 21H CALL BINHEX ;调用十六进制数显示子程序 CRLF ;光标移到下一行的开始处 JMP REPEAT ;继续下一次的输入和转换显示 DECBIN: ;子程序,键盘输入十进制数,转十六进制存BX中 MOV BX,0 ;十六进制数存BX中,先清0 NEW: MOV AH,1 INT 21H ;键盘输入一个字符 SUB AL,30H ;十进制数0~9的ASCII是30H~39H JC EXIT ;<30H则输入结束 CMP AL,0AH ;≥3AH则输入也结束 JNC EXIT MOV AH,0 ;AL中8位二进制扩展为16位,AH为高8位 XCHG AX,BX ;

文档评论(0)

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

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

1亿VIP精品文档

相关文档