欢迎来到天天文库
浏览记录
ID:55514751
大小:2.01 MB
页数:7页
时间:2020-05-15
《实验四 符及字符串的输入和输出.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验四字符及字符串的输入和输出一、实验目的1.熟悉如何进行字符及字符串的输入输出。2.掌握简单的DOS系统功能调用。二、实验预习要求1.复习系统功能调用的1、2、7、8、9、10号功能。2.按照题目要求预先编写好实验中的程序段。三、实验任务1、输入以下程序段并用“singlestep”单步运行,执行INT21H指令时,在键盘上按“5”键。MOVAH,1INT21H(1)运行结束后,(AL)=?它是哪一个键的ASCII码?答:(AL)=35他是5的ASCII码运行结果如图(2)重复运行以上程序段,并分别用“A”、“B”、“C”、“D”键代替
2、“5”键,观察运行结果有何变化?答:A时AL=(61)B时AL=(62)C时AL=(63)D时Al=(64)(1)再将1变为7和8,分别运行之答:7时AL=(37)8时Al=(38)2、输入以下程序段并运行之。MOVDL,‘A’MOVAH,2INT21H(1)观察屏幕上的输出,是否显示了“A”字符?显示了A字符如图(2)分别用“#”、“X”、“Y”、“$”、“?”代替程序段中的“A”字符,观察屏幕上的输出有何变化,并查看DL中的内容。1、#时屏幕出现#如图DL=(23)2、X时屏幕出现X如图DL=(58)3、Y时屏幕出现Y如图DL=(59
3、)4、$时屏幕出现$如图DL=(24)5、?时屏幕出现?如图DL=(3F)(1)分别用0DH、0AH、24H代替程序段中的“A”字符,观察屏幕上的输出有何变化。答:屏幕依次出现CR,LF,$(4)用07H代替程序段中的“A”字符,观察屏幕上有无输出?计算机内的扬声器是否发出“哔”的声音?答:无输出如图发出哔的声音3.按要求运行程序,并回答问题。提示:系统使用0AH号功能调用时,按如下方法设置键盘缓冲区:缓冲区长度N实际读入的字符个数N个字节的预留内存区在DS:0000H开始的内存区域设置变量名为M1的如下键盘缓冲区:DATASEGMENT
4、M1DB5,0,5dup(?)DATAENDS然后输入以下程序段并单步运行,执行INT21H指令时,在键盘上键入“5”、“4”、“3”、“2”、“1”、〈回车〉这六个键。LEADX,M1MOVAH,0AHINT21H程序段运行完后,检查DS:0000H开始的内存区域:①DS:0001H单元的内容是什么?它表示了什么含义?答:设定的字符串的长度为5,但实际可用的只有4个,最后一个预留给回车键②从DS:0002H开始的内存区域中的内容是什么?其中是否有字符“1”的ASCII码?为什么?答:最后一个是回车键用的,不在字符串内,所以只能输入四个4
5、. 要在屏幕上显示一个字符串“Hello,world”,写出该字符串变量的定义语句和显示这个字符串的程序段。上机验证之。(此题不要求写在实验报告上)答:DSEGSEGMENTSTRINGDB’Hello,World’,0DH,0AH,’$’DSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGSTART:MOVAX,DSEGMOVDS,AXLEADX,STRINGMOVAH,09HINT21HMOVAH,4CHINT21HCSEGENDSENDSTART5.1、2、9、10号功能的输入输出参数有哪些?分别放在什么
6、寄存器中?功能号入口参数出口参数01H无AL=输入字符02HDL=输出字符AL=输入字符09HDS:DX=字符缓冲区首址无0AHDS:DX=键盘缓冲区首址无6.总结一下,如何实现字符及字符串的输入输出。答:单字符的输入可以使用1,7,8号指令,其中,1号指令有回显。字符串的输入利用0AH号指令来实现,该功能要求用户指定一个键入缓冲区来存放输入的字符串。单字符的显示可以使用1号功能。字符串的显示需要调用9号功能,但要求被显示的字符串必须以‘$’结尾,否则会引起屏幕混乱。
此文档下载收益归作者所有