微机原理与技术接口 实验一 输入输出实验
🌴 2022.4.27 早十 实验一
实验一 输入输出实验
1.1 实验要求
熟悉emu8086仿真系统,实现控制台输入输出,设计并单步调试实现一位十进制数的加法运算(屏幕效果为3+2=5,红色为输入其他为自动输出)
1.2 理论分析
调用DOS中AH=1输入字符,存入AL,返回值是ASCII码,所以要借用与运算将高位清零,例如字符3的ASCII码为33H,和FH与运算得到3H
调用DOS中AH=2输出字符,重点注意DL=要输出的字符,AL=DL。这会修改第一次在控制台输入的被加数,所以暂存在DH中
加数2即32H没有做与运算,因为如果这里做了与运算,计算完之后,在最后输出时输出的是05H对应的字符♣,还需要再和FH与运算一次才是35H即5
1.3 汇编语言
💻提示:所有实验源码已在Github整理
MOV AH,1 ;AH=1控制台输入,返回值是AL=字符的ASCII |
1.4 实验结果
思考内容
输入输出数据和计算用数据的区别
从键盘上输入和从屏幕上输出的都是字符,返回值实际是ASCII码,与计算用的数据实间相差30H,所以一个数从屏幕上输入时转换成数字-30H,输出时将+30H,或者输入时输出时都进行一次与运算单字符输入输出和串输入输出的不同
单字符的输入使用1号功能键,输出通过2号功能调用,且待显示字符送给DL寄存器;串输入使用0A功能,输出通过9号功能调用,DS:DX指向待显示字符串,且字符串必须以“$”结束
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 张时贰!
评论



