字符及字符串的输入输出实验报告
西安交通大学
文少轩
一、实验目的
1.掌握简单的DOS系统功能调用;
2.掌握在PC机上建立,汇编,链接,调试和运行8086汇编语言程序的全过程。
二、实验设备
IBM-PC 微型计算机一台
三、实验要求
1. 复习DOS系统功能调用的1,2,9,10号功能;
2. 认真阅读预备知识中汇编语言的上机步骤的说明,熟悉汇编程序的建立,汇编,连接,
执行,调试的全过程。
四、实验内容及数据记录
实验内容一:字符的输入和输出
从键盘读入一个小写字母,输出字母表中倒数与该字母序号相同的那个字母。
例如输
执行结果:
*实验习题:
如果要在程序中加入显示提示字符串“Please input a lowercase letter”和“The inverse letter is:”,应如何修改程序?
程序代码:
执行结果:
实验内容二:字符串的输入和输出
从键盘输入一个字符串(假定键盘缓冲区的名字为STR),将其传送给INFO变量后,再在屏幕上显示出来。
汇编、连接:
执行结果:
*实验习题:
如果要在程序中加入显示提示字符串“Please input a string”和“The string you input is:”,应如何修改程序?
程序代码:
DSEG SEGMENT
INTIP DB 'Please input a string',0DH,0AH,'$'
汇编、连接:
执行结果:
五、实验小结
1.DOS系统功能调用的10号功能对键盘缓冲区格式地要求:第一个字节为输入字符串的最大长度,第二个字节用来存放实际输入字符串的长度,从第三个字节开始存放实际输入的字符串的ASCII码;
2.DOS系统功能中的1、2、9、10号功能的输入输出参数及存放的寄存器关系如下表:
3.字符和字符串的输入输出的实现都需要调用相应功能号,并产生相应的中断,即先给AX赋值所需的功能号,然后产生21H中断,输入的单字符会存放在AL中,输出单字符前需要把字符ASCII码存放到DL中,输入输出字符串,需要先把字符缓冲区首址存放到DS:DS寄存器中。