- 20
- 0
- 约3.94千字
- 约 7页
- 2018-07-25 发布于江苏
- 举报
字符及字符串输入输出与顺序程序设计实验
字符及字符串输入输出与顺序程序设计实验
从键盘输入两个一位十进制数,计算这两个数之和,并将结果在屏幕上显示出来。
问题分析
比如使用功能号为01H的用于实现单个字符输入的DOS功能调用接收从键盘输入的两个十进制数8和6,这时计算机内部得到的是这两个数的ASCII码值38H和36H。
由于数字0(9的ASCII码值与其代表的数值之间相差30H,因此将其减去30H即可得到以非压缩型BCD数形式表示的十进制数08H和06H,
使用ADD指令对它们进行相加后结果为0EH),显然需要用非压缩型BCD数加法调整指令对ADD的运算结果进行调整,
调整后得到两个非压缩型BCD数01H和04H,将它们分别加上30H后变为其对应的ASCII码31H(1的ASCII码)和34H(4的ASCII码)
,然后调用功能号为02H用于单个字符输出的DOS功能调用将它们显示出来。
综上所述,需要考虑以下问题。
(1)从键盘输入一个一位十进制数的方法
通过功能号为1的DOS功能调用实现从键盘输入一个字符,格式如下:
MOV AH, 01H
INT 21H ;此时程序等待用户键入,键入字符的ASCII码值存在AL中
SUB AL, 30H ;减去30H后得到键入数字所代表的数值
(2) 提示信息字符串的显示
通过功能号为9的DOS功能调用实现字符串显示,注意字符串的最后一个字符必
原创力文档

文档评论(0)