微机实验四 字符及字符串的输入和输出
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四字符及字符串的输入和输出
一、实验目的
1.熟悉如何进行字符及字符串的输入输出。
2.掌握简单的DOS系统功能调用。
二、实验预习要求
1.复习系统功能调用的1、2、9、10号功能。
2.按照题目要求预先编写好实验中的程序段。
三、实验任务
1.输入以下程序段并用F8键单步运行,执行INT 21H指令时,在键盘上按“5”键。
MOV AH,1
INT 21H
(1)运行结束后,(AL)=35H它是5的ASCII码
(2)重复运行以上程序段,并分别用“A”、“B”、“C”、“D”键代替“5”键,观察运行结果
有何变化?
(3)A:41H
B:42H
C:43H
D:44H
2.在DS:1000H开始的内存区域设置如下键盘缓冲区:
DS:1000H 5,0,0,0,0,0,0
然后输入以下程序段并用F8键单步运行,执行INT 21H指令时,在键盘上键入“5”、“4”、“3”、“2”、“1”、〈回车〉这六个键。
LEA DX,[1000H]
MOV AH,0AH
INT 21H
程序段运行完后,检查DS:1000H开始的内存区域:
(1)DS:1001H单元的内容是什么?它表示了什么含义?
04表示可以输入四个字符串
(2) 从DS:1002H开始的内存区域中的内容是35H 34H 33H 32H?其中没有字符“1”的ASCII 码?为什么?
没有
因为只允许输入四个字符串
3.输入以下程序段并运行之。
MOV DL,‘A’
MOV AH,2
INT 21H
i.观察屏幕上的输出,是否显示了“A”字符?
没有,显示为41h
ii.分别用“#”、“X”、“Y”、“$”、“?”代替程序段中的“A”字符,观察屏幕上的输出有何变化。
#:#
X:X
Y:Y
$:$
??
iii.分别用0DH、0AH代替程序段中的“A”字符,观察屏幕上的输出有何变化。
屏幕依次出现CR,LF,
iv.用07H代替程序段中的“A”字符,观察屏幕上有无输出?计算机内的扬声器是否发出“哔”的声音?
无输出,发出“哔” 的声音
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
四、实验心得与体会
通过此次实验,我熟悉了如何进行字符及字符串的输入输出,掌握了简单的DOS系统功能调用,学到了不少知识。