汇编实验-屏幕窗口程序.docx

上传人:lao****ou 文档编号:1095379 上传时间:2024-10-29 格式:DOCX 页数:5 大小:80.21KB
下载 相关 举报
汇编实验-屏幕窗口程序.docx_第1页
第1页 / 共5页
汇编实验-屏幕窗口程序.docx_第2页
第2页 / 共5页
汇编实验-屏幕窗口程序.docx_第3页
第3页 / 共5页
汇编实验-屏幕窗口程序.docx_第4页
第4页 / 共5页
汇编实验-屏幕窗口程序.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《汇编实验-屏幕窗口程序.docx》由会员分享,可在线阅读,更多相关《汇编实验-屏幕窗口程序.docx(5页珍藏版)》请在第一文库网上搜索。

1、实验五屏幕窗口程序一、实验的目的与要求(一)实验目的:掌握显示器IO程序设计的方法,掌握宏的相关概念,以及运用方法。(二)实验要求:在屏幕上开出三个窗口,它们的行列坐标如下页图所示,光标首先定位在右窗口最下面一行的行首(15,50),如果从键盘输入字符,则显示在右窗口,同时也显示在下窗口的最下面一行。若需要将字符显示于左窗口,则先按下左键,接着再从键盘输入字符,字符就会从左窗口的最下行开始显示,同时下窗口也显示左窗口的内容。当一行字符显示满后,窗口自动向上卷动一行,输入字符继续显示于最低一行,窗口最高一行向上卷动后消失。编写屏幕窗口程序时,要求将一些功能程序段定义成宏指令,如向上卷动、清屏、(

2、5,50)(5,10)(15,70)(15,30)(18,15)(22,65)接受字符并判断、在屏幕上显示字符、光标定位。二、实验正文实验分析:实验思路比较简单,主要是运用BIoS调用,这些查表可得,实验要求要用宏来定义一些基本功能,宏调用比较简单,把一些基本功能编写成宏,能高效率的执行程序,但是宏也存在着一些缺点,在宏调用时,要宏展开,这样会占用一定的空间,所以宏是一种以空间换时间的策略,像一些复杂的操作不宜编写成宏。B1OS1O号调用提供了大量的屏幕、光标显示格式,要注意参数的意义,以便正确的显示结果。三、流程图如下:四、实验结果附录:程序源代码如下:datassegmentcurydb1

3、5curxdb50;光标初始位置Ixdb1O;记录左窗口当前光标位置,初始化为左窗口初始位置Iydb15rxdb50;记录右窗口当前光标位置,初始化为右窗口初始位置rydb15dwxdb15;记录下窗口当前光标位置,初始化为下窗口初始位置dwydb22u1rowdb0u1co1db0IrrowdbOIrco1dbOwindownumdb1datasends/宏指令c1ear清屏c1earmacroa,b,c,dmova1,O;初始化窗口movbh,7;卷入行属性movch,a;左上角行号movc1,b;左上角列号movdh,c;右下角行号movd1,d;右下角列号movah,6intIOh;B

4、1oS调用,屏幕初始化endm1宏指令scro11向上卷动一行scro11macrocont,u1row,u1co1,IrrowJrcoImova1,cont;上卷行数movbh,70h;卷入行属性movch,u1row;左上角行号movc1,u1co1;左上角列号movdh,Irrow;右下角行号movd1jrco1;右下角列号movah,6intIOh;B1OS调用,上卷endm/宏指令postc光标定位postcmacroy,xmovbh,0;页号movdh,y;行movd1,x洌movah,2intIOh;B1OS调用,置光标位置endm;在当前窗口和下窗口显示disp1aymacro

5、movbh,0movcx,1movah,OahintIOhpostcdwdwxmovbh,0movcx,1movah,OahintIOhendmgetcharmacroinput:movah,0int16hcmpah,4bhjnzno_1eftpostc1y,1xmovwindownum,2jmpinputnojeft:cmpah,4dhjnzno_rightpostcry,rxmovwindownum,1jmpinputno_right:cmpah,O1jzexitdisp1ayincdwxcmpdwx,65j1eisrightscro111,19,15,22,65movdwx,15isri

6、ght:cmpwindownum,1jnzdisp1eftdispright:incrxcmprx,70;在当前的窗口打印字符;在下窗口输出接收字符并判断;输入键盘上的字符;BIOS调用,从键盘读字符;判断输入字符是否为左向键;判断输入字符是否为右向键;判断输入字符是否为ESC;嵌套调用;判断下窗口是否上卷;判断是否在右窗口;判断右窗口是否上卷j1erightexitscro111,6,50,15,70movrx,50rightexit:;右窗口输出postcry,rxjmpinputdisp1eft:;判断左窗口是否上卷incIxcmp1x,30j1e1eftexitscro111,6,10

7、,15,30mov1x,101eftexit:;左窗口输出postc1y,1xjmpinputexit:endmcodessegmentassumecs:codes,ds:datasstart:mainprocfarpushdssubax,axpushaxmovax,datasmovds,axc1ear0,0,24,79scro1110,5,10,15,30scro1110,5,50,15,70scro114,18,15,22,65postccury,curxgetcharretmainendpcodesendsendstart五、实验总结通过这次实验,掌握了屏幕窗口程序的基本设计方法,领略了宏的设计和使用方法,实验的整体思路比较简单,但如若想编出复杂的屏幕程序,需要对B1OS调用有一个大致的了解,只有这样才能灵活的去运用,这也就启迪我多去阅读和积累相关的知识,只有知识积累到一定程度才能编出好的程序。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 工作总结

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服