- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验四 字符及符串的输入和输出
实验四 字符及字符串的输入和输出
一、实验目的
1.熟悉如何进行字符及字符串的输入输出。
2.掌握简单的DOS系统功能调用。
二、实验预习要求
1.复习系统功能调用的1、2、7、8、9、10号功能。
2.按照题目要求预先编写好实验中的程序段。
三、实验任务
1、 输入以下程序段并用“single step”单步运行,执行INT 21H指令时,在键盘上按“5”键。
MOV AH,1
INT 21H
运行结束后,(AL)=?它是哪一个键的ASCII码?
答:(AL)=35 他是5的ASCII码
运行结果如图
重复运行以上程序段,并分别用“A”、“B”、“C”、“D”键代替“5”键,观察运行结果有何变化?
答:A时AL=(61)
B时AL=(62)
C时AL=(63)
D时Al=(64)
再将1变为7和8,分别运行之
答:7时AL=(37)
8时Al=(38)
2、输入以下程序段并运行之。
MOV DL,‘A’
MOV AH,2
INT 21H
观察屏幕上的输出,是否显示了“A”字符?
显示了A字符 如图
分别用“#”、“X”、“Y”、“$”、“?”代替程序段中的“A”字符,观察屏幕上的输出有何变化,并查看DL中的内容。
1、#时 屏幕出现# 如图
DL=(23)
2、X时 屏幕出现X 如图
DL=(58)
3、Y时 屏幕出现Y 如图
DL=(59)
4、$时 屏幕出现$ 如图
DL=(24)
5、?时 屏幕出现?如图
DL=(3F)
分别用0DH、0AH、24H代替程序段中的“A”字符,观察屏幕上的输出有何变化。
答:屏幕依次出现 CR,LF,$
(4)用07H代替程序段中的“A”字符,观察屏幕上有无输出?计算机内的扬声器是否发出“哔”的声音?
答:无输出 如图
发出 哔 的声音
3.按要求运行程序,并回答问题。
提示:系统使用0AH号功能调用时,按如下方法设置键盘缓冲区:
缓冲区长度N
实际读入的字符个数
N个字节的预留内存区
在DS:0000H开始的内存区域设置变量名为M1的如下键盘缓冲区:
DATA SEGMENT
M1 DB 5,0,5 dup (?)
DATA ENDS
然后输入以下程序段并单步运行,执行INT 21H指令时,在键盘上键入“5”、“4”、“3”、“2”、“1”、〈回车〉这六个键。
LEA DX,M1
MOV AH,0AH
INT 21H
程序段运行完后,检查DS:0000H开始的内存区域:
DS:0001H单元的内容是什么?它表示了什么含义?
答:设定的字符串的长度为5,但实际可用的只有4个,最后一个预留给回车键
②从DS:0002H开始的内存区域中的内容是什么?其中是否有字符“1”的ASCII码?为什么?
答:最后一个是回车键用的,不在字符串内,所以只能输入四个
4.? 要在屏幕上显示一个字符串“Hello, world”,写出该字符串变量的定义语句和显示这个字符串的程序段。上机验证之。(此题不要求写在实验报告上)
答:DSEG SEGMENT
STRING DB’Hello,World’,0DH,0AH,’$’
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START:MOV AX,DSEG
MOV DS,AX
LEA DX,STRING
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CSEG ENDS
END START
5. 1、2、9、10号功能的输入输出参数有哪些?分别放在什么寄存器中?
功能号
入口参数
出口参数
01H
无
AL=输入字符
02H
DL=输出字符
AL=输入字符
09H
DS:DX=字符缓冲区首址
无
0AH
DS:DX=键盘缓冲区首址
无
6.总结一下,如何实现字符及字符串的输入输出。
答:单字符的输入可以使用1,7,8号指令,其中,1号指令有回显。
字符串的输入利用0AH号指令来实现,该功能要求用户指定一个键入缓冲区来存放输入的字符串。单字符的显示可以使用1号功能。字符串的显示需要调用9号功能,但要求被显示的字符串必须以‘$’结尾,否则会引起屏幕混乱。
文档评论(0)