- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编实验 屏幕窗口程序
实验五 屏幕窗口程序
实验的目的与要求
(一)实验目的:掌握显示器IO程序设计的方法,掌握宏的相关概念,以及运用方法。
(二)实验要求:在屏幕上开出三个窗口,它们的行列坐标如下页图所示,光标首先定位在右窗口最下面一行的行首(15, 50),如果从键盘输入字符,则显示在右窗口,同时也显示在下窗口的最下面一行。若需要将字符显示于左窗口,则先按下左键,接着再从键盘输入字符,字符就会从左窗口的最下行开始显示,同时下窗口也显示左窗口的内容。当一行字符显示满后,窗口自动向上卷动一行,输入字符继续显示于最低一行,窗口最高一行向上卷动后(5,10)(15,30)
(5,10)
(15,30)
(5,50)
(15,70)
(18,15)
(22,65)
二、实验正文
实验分析:实验思路比较简单,主要是运用BIOS调用,这些查表可得,实验要求要用宏来定义一些基本功能,宏调用比较简单,把一些基本功能编写成宏,能高效率的执行程序,但是宏也存在着一些缺点,在宏调用时,要宏展开,这样会占用一定的空间,所以宏是一种以空间换时间的策略,像一些复杂的操作不宜编写成宏。BIOS 10号调用提供了大量的屏幕、光标显示格式,要注意参数的意义,以便正确的显示结果。
三、流程图如下:
四、实验结果
附录:程序源代码如下:
;****************************************************************
datas segment
cury db 15 ;光标初始位置
curx db 50
lx db 10 ;记录左窗口当前光标位置,初始化为左窗口初始位置
ly db 15
rx db 50 ;记录右窗口当前光标位置,初始化为右窗口初始位置
ry db 15
dwx db 15 ;记录下窗口当前光标位置,初始化为下窗口初始位置
dwy db 22
ulrow db 0
ulcol db 0
lrrow db 0
lrcol db 0
windownum db 1
datas ends
;-----------------------------------------------------------------宏指令clear 清屏
clear macro a,b,c,d
mov al,0 ;初始化窗口
mov bh,7 ;卷入行属性
mov ch,a ;左上角行号
mov cl,b ;左上角列号
mov dh,c ;右下角行号
mov dl,d ;右下角列号
mov ah,6
int 10h ;BIOS调用,屏幕初始化
endm
;-------------------------------------------------------------宏指令 scroll向上卷动一行
scroll macro cont,ulrow,ulcol,lrrow,lrcol
mov al,cont ;上卷行数
mov bh,70h ;卷入行属性
mov ch,ulrow ;左上角行号
mov cl,ulcol ;左上角列号
mov dh,lrrow ;右下角行号
mov dl,lrcol ;右下角列号
mov ah,6
int 10h ;BIOS调用,上卷
endm
;--------------------------------------------------------------宏指令 postc 光标定位
postc macro y,x
mov bh,0 ;页号
mov dh,y ;行
mov dl,x ;列
mov ah,2
int 10h ;BIOS调用,置光标位置
endm
;--------------------------------------------------------
文档评论(0)