实验08 INT n 中断实验报告.docx
- 文档编号:9009087
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:13
- 大小:557.29KB
实验08 INT n 中断实验报告.docx
《实验08 INT n 中断实验报告.docx》由会员分享,可在线阅读,更多相关《实验08 INT n 中断实验报告.docx(13页珍藏版)》请在冰豆网上搜索。
实验08INTn中断实验报告
实验八INTn中断实验(4课时综合实验)
实验日期:
2013-12-11
学校:
安徽农业大学经济技术学院星期:
三节次:
1、2实验课时:
姓名:
江珊珊学号:
专业、班级:
通信三班得分:
一.实验目的
1、掌握常用软件中断的指令。
2、掌握CPU执行中断操作的特点
二.实验内容
1、键盘输入并显示
向量号21h
功能号1
该功能是等待扫描从键盘上输入的一个字符,将其ASCII码保存在AL中,并将该字符自动回显CRT上。
2、显示以“$”结尾的字符串
向量号21h
功能号9
入口参数:
DS:
DX指向待显示的字符串的首地址
2)、思考题:
在屏幕上显示两行字符串,第一行是学号,第二行是姓名的拼音全拼。
提示,在ACSII码表中找换行符的ASCII码。
截图显示程序和运行结果
3、BIOS的字符串显示
向量号10h
功能号0eh
该中断的功能是在屏幕上显示AL中的字符串,待显示的字符要事先存入AL中。
3、读键盘
向量号16h
功能号0h
该中断的功能是在读取键盘输入的ASCII码,并存放在AL中。
1)使用COM模板,执行如下程序,观察AL中的内容
ORG100h
MOVAH,0;selectsub-function.
int16h
RET
向量号16h
功能号1h
该中断的功能是
若按过键,则ZF=0,并读取键盘输入的ASCII码,并存放在AL中。
若没按过键,则ZF=1
三、实验步骤
四、实验运行结果:
1、键盘输入并显示
向量号21h
功能号1
该功能是等待扫描从键盘上输入的一个字符,将其ASCII码保存在AL中,并将该字符自动回显在CRT上。
1)、执行下列程序,观察结果
ORG100h
MOVAH,1;selectsub-function.
int21h
RET
运行结果是:
2)、思考题:
从键盘连续输入5个字符并显示,截图显示程序源代码和运行结果,如输入honey,显示如下
2、显示以“$”结尾的字符串
向量号21h
功能号9
入口参数:
DS:
DX指向待显示的字符串的首地址
1)、执行下列程序,观察结果
在显示器上显示“HOWAREYOU”
程序如下:
DSEGSEGMENT
D1DB‘HOWAREYOU’,’$’
DSEGENDS
CSEGSEGMENT
ASSUMECS:
CSEG,DS:
DSEG
START:
MOVAX,DSEG
MOVDS,AX
MOVDX,OFFSETD1
MOVAH,9
INT21H
MOVAH,4CH
INT21H
CSEGENDS
ENDSTART
运行结果:
2)、思考题:
在屏幕上显示两行字符串,第一行是学号,第二行是姓名的拼音全拼。
提示,在ACSII码表中找换行符的ASCII码。
截图显示程序和运行结果
3、BIOS的字符串显示
向量号10h
功能号0eh
该中断的功能是在屏幕上显示AL中的字符串,待显示的字符要事先存入AL中。
1)、执行下列程序,观察结果
#MAKE_COM#;instructcompilertomakeCOMfile.
ORG100h
;Thesub-functionthatweareusing
;doesnotmodifytheAHregisteron
;return,sowemaysetitonlyonce.
MOVAH,0Eh;selectsub-function.
;INT10h/0Ehsub-function
;receivesanASCIIcodeofthe
;characterthatwillbeprinted
;inALregister.
MOVAL,'H';ASCIIcode:
72
INT10h;printit!
MOVAL,'e';ASCIIcode:
101
INT10h;printit!
MOVAL,'l';ASCIIcode:
108
INT10h;printit!
MOVAL,'l';ASCIIcode:
108
INT10h;printit!
MOVAL,'o';ASCIIcode:
111
INT10h;printit!
MOVAL,'!
';ASCIIcode:
33
INT10h;printit!
RET;returnstooperatingsystem.
运行结果是:
3、读键盘
向量号16h
功能号0h
该中断的功能是在读取键盘输入的ASCII码,并存放在AL中。
1)使用COM模板,执行如下程序,观察AL中的内容
ORG100h
MOVAH,0;selectsub-function.
int16h
RET
输入的是a
运行结果是:
向量号16h
功能号1h
该中断的功能是
若按过键,则ZF=0,并读取键盘输入的ASCII码,并存放在AL中。
若没按过键,则ZF=1
输入的是b
运行结果是
五、思考题解答
1.编写程序,在显示器上显示你的姓名,换行
等待键盘输入一个字符,若输入的是“Y”,则显示“WELCOME”+你的姓名
若输入的是“N”,则显示“SORRY”+你的姓名
(可参考P155例4.46,但Emu8086不支持DOS中断的8号功能。
)
DSEGMENT
D1DB'JIANGSHANSHAN',0DH,0AH,'$'
D2DB'WELCOME+JIANGSHANSHAN',0DH,0AH,'$'
D3DB'SORRY+JIANGSHANSHAN',0DH,0AH,'$'
DENDS
CSEGMENT
ASSUMECS:
C,DS:
D
BG:
MOVAX,D
MOVDS,AX
MOVDX,OFFSETD1
MOVAH,9
INT21H
MOVAH,1
INT21H
CMPAL,'Y'
JNENEXT1
LEADX,D2
MOVAH,9
INT21H
NEXT1:
CMPAL,'N'
JNENEXT2
LEADX,D3
MOVAH,9
INT21H
NEXT2:
MOVAH,4CH
INT21H
CENDS
ENDBG
2、DOS中断的0AH号功能是从键盘读取字符串(连续读取多个字符)
参考P155-P166和例题4.47,编写如下功能的程序
在显示器上显示“INPUTPASSWORD”
随后从键盘读入字符串,若该字符串是自己的学号,则在屏幕上换行显示自己的学号
如果从键盘输入的不是自己的学号,则在屏幕上显示:
“YOURPASSWORDISERROR”
DSEGMENT'DATA'
D1DB'INPUTPASSWORD',0DH,0AH,'$'
PASS2DB9
DB?
DB9DUP(?
)
D2DB'11540088',0DH,0AH,'$'
NEQU8
D3DB'YOURPASSWORDISERROR',0DH,0AH,'$'
DENDS
CSEGMENT'CODE'
ASSUMECS:
C,DS:
D
BG:
MOVAX,D
MOVDS,AX
MOVES,AX
MOVDX,OFFSETD1
MOVAH,9
INT21H
LEADX,PASS2
MOVAH,0AH
INT21H
LEASI,D2
LEADI,PASS2
CMPBYTEPTR[DI+1],N
JNENEXT1
MOVCX,N
LEADI,PASS2+2
CLD
REPZCMPSB
JZDISOK
NEXT1:
LEADX,D3
MOVAH,9
INT21H
JMPNEXT2
DISOK:
LEADX,D2
MOVAH,9
INT21H
JMPNEXT2
NEXT2:
MOVAH,4CH
INT21H
CENDS
ENDBG
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验08 INT 中断实验报告 实验 08 中断 报告
