汇编语言实验报告 实验七
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验七
一.实验目的
1.体验并了解DOS界面下色彩显示
2.了解并掌握INT10功能BIOS调用显示屏幕控制
二.实验原理及要求
将实验代码键入计算机中在屏幕中间建立一个20列宽和9高的窗口,然后把键入的内容在这窗口显示出来。键入的字符将被显示在窗口的最后一行,每当输入20个字符,该行就向上卷动,9行字符键入完成后,顶端行的内容丢失。观察并记录实验现象,然后更改实验代码将显示字符背景改为蓝色,字符颜色改为红色,并使其闪烁。
三.实验代码
原代码:
Codes segment
Assume cs:codes
Mov ah,6;屏幕初始化功能号
Mov al,0;全屏幕为空白
Mov ch,0 ;左上角行号
Mov cl,0 ;右上角列号
Mov dh,24 ;右下角行号
Mov dl,79 ;右下角列号
mov bh,0111b ;卷入行属性
Int 10h
Poscurse:
Mov ah,2 ;置光标位置功能号
Mov dh,16 ;行
Mov dl,30 ;列
Mov bh,0 ;页号
Int 10h
Mov cx,20
Getchar:
Mov ah,1
Int 21h
Cmp al,'Q'
Jz exit
Loop getchar
Mov ah,6 ;屏幕初始化功能号
Mov al,1 ;上卷行数
Mov ch,8 ;左上角行号
Mov cl,30 ;左上角列号
Mov dh,16
Mov dl,50
Mov bh,0111b
int 10h
Jmp poscurse
Exit:
Mov ah,4ch
Int 21h
Codes ends
End
更改后代码:
Codes segment
Assume cs:codes
Mov ah,6 ;屏幕初始化功能号
Mov al,0 ;全屏幕为空白
Mov ch,0 ;左上角行号
Mov cl,0 ;右上角列号
Mov dh,24 ;右下角行号
Mov dl,79 ;右下角列号
Int 10h
Poscurse:
Mov ah,2 ;置光标位置功能号
Mov dh,16 ;行
Mov dl,30 ;列
Mov bh,0 ;页号
Int 10h
Mov ah,6 ;屏幕初始化功能号
Mov al,1 ;上卷行数
Mov ch,8 ;左上角行号
Mov cl,30 ;左上角列号
Mov dh,16
Mov dl,50
Mov bh,10010100b
int 10h
Mov cx,20
Getchar:
Mov ah,1
Int 21h
Cmp al,'Q'
Jz exit
Loop getchar
Jmp poscurse
Exit:
Mov ah,4ch
Int 21h
Codes ends
End
四.实验过程
1.打开DOS操作界面;
2.将代码输入到edit环境中并在e:盘中MASM文件夹下保存为1.asm
文件;
3.在MASM文件夹下用MASM程序编译文件1.asm并在该文件夹中保
存为1.obj文件;
4.在MASM文件夹下用LINK程序链接文件1.obj并正在该文件夹下保
存为1.exe可执行程序;
5.在DOS操作界面下输入1.exe观察程序运行结果,并记录。
6.根据要求更改程序并且保存为2.asm文件并重复以上3-5步操作五.实验记录及分析
六.实验总结及体验
在本实验中体验并了解DOS界面下色彩显示问题,并且掌握INT10功能BIOS调用显示屏幕控制的指令语句。并查阅其他int语句的功能以及作用和用法,以及掌握了microsoftvisio绘图软件的使用。