微机原理第二次试验字符及字符串输入输出与顺序程序设计实验班级:姓名:学号:日期:字符及字符串输入输出与顺序程序设计实验2
1实验目的1、学习和掌握字符及字符串的输入输出方法
2、掌握顺序程序的设计方法
3、进一步掌握调试工具的使用方法
2实验预习要求1、复习DOS功能调用中用于字符输入(功能号01H)、字符输出(功能号02H)、字符串输入(功能号为0AH)以及字符串输出(功能号09H)的调用方法(详见教材5
2、复习BCD码运算调整指令
3、根据“2
3实验内容”中给出的源程序框架编写完整的源程序,以便实验时调试
4实验习题”中任选一道题目,编写源程序,以便上机调试
3实验内容从键盘输入两个一位十进制数,计算这两个数之和,并将结果在屏幕上显示出来
1、问题分析比如使用功能号为01H的用于实现单个字符输入的DOS功能调用接收从键盘输入的两个十进制数8和6,这时计算机内部得到的是这两个数的ASCII码值38H和36H
9的ASCII码值与其代表的数值之间相差30H,因此将其减去30H即可得到以非压缩型BCD数形式表示的十进制数08H和06H,使用ADD指令对它们进行相加后结果为0EH(00001110B),显然需要用非压缩型BCD数加法调整指令对ADD的运算结果进行调整,调整后得到两个非压缩型BCD数01H和04H,将它们分别加上30H后变为其对应的ASCII码31H(1的ASCII码)和34H(4的ASCII码),然后调用功能号为02H用于单个字符输出的DOS功能调用将它们显示出来
综上所述,需要考虑以下问题
(1)从键盘输入一个一位十进制数的方法通过功能号为1的DOS功能调用实现从键盘输入一个字符,格式如下:MOVAH,01HINT21H;此时程序等待用户键入,键入字符的ASCII码值存在AL中SUBAL,30H