汇编语言实验报告 实验七

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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绘图软件的使用。

相关文档
最新文档