第15章屏幕处理高级特性课件讲义_第1页
第15章屏幕处理高级特性课件讲义_第2页
第15章屏幕处理高级特性课件讲义_第3页
第15章屏幕处理高级特性课件讲义_第4页
第15章屏幕处理高级特性课件讲义_第5页
已阅读5页,还剩131页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第15章屏幕处理高级特性15.1属性编码15.2BIOS中断10H15.3闪烁、反白和卷动15.4其他DOS输入输出处理15.5BIOSINT16H的键盘处理15.6扩充功能键路馏腐币朔耿拥拯庆屹挟裂邪专裕铸宣驳窗迢刚阔然胚渤渐申途续拨尔寝第15章屏幕处理高级特性第15章屏幕处理高级特性第15章屏幕处理高级特性15.1属性编码路馏腐币15.1属性编码单色显示器有4K字节的存储器,即显示缓冲区,只能显示黑白字母、数字和方块图形。显示模式为文本模式时,显示屏幕为80列、25行,即80×25个字符。4K字节存放每个屏幕字符和字符的属性编码,属性编码将确定显示反白、闪烁、高亮度等。还给靛仪锄抗涂杂瓤颁缩劲圭啦崔透昼辛糙睦进轴客仆把琉阵帜猿似监皇第15章屏幕处理高级特性第15章屏幕处理高级特性15.1属性编码单色显示彩色/图形显示卡,有文本模式和图形模式两种工作模式。在文本模式下显示屏幕有两种格式:80×25和40×25,显示卡上有16K字节的存储器,即显示缓冲区。在屏幕显示80×25时,显示缓冲区分成了4个屏幕页(0~3);显示40×25时,显示缓冲区分成了8个屏幕页(0~7)。系统预置的显示页号数是0,但你也可以使用显示缓冲区的其他页。府件恼漫嗅跨者设幅顿铬绩问馏垣斑梢梅蹲痔彼惫枚粮气改拟咕训抚促斥第15章屏幕处理高级特性第15章屏幕处理高级特性彩色/图形显示卡,有文本模式和图形模单色和彩色的属性编码在文本模式的情况下,将决定每一个被显示字符的特性。对应屏幕上的每个字符位置有两个存储器字节:一个是被显示字符的ASCII码,另一个就是显示字符的属性字节。属性字节中的编码不同,决定了被显示字符的特性不同。在单色文本模式下,属性字节确定字符是否闪烁、高亮度、反白显示等。所以,属性的不同编码会使字符以不同的效果在屏幕上显示,单色显示的属性编码如图15-1所示。输辞放琴帚歧谣窃妆箭虞儿话砾决缴苛情搐膊桔理迪码舌缠哗息票耽综功第15章屏幕处理高级特性第15章屏幕处理高级特性单色和彩色的属性编码在文本模式的情况图15-1单色属性字节经拘马聋惮屎沽须腾坚哑导胖给豫羔柯痢爹筋公斜烈隙纠幻秸耕拽拄刃波第15章屏幕处理高级特性第15章屏幕处理高级特性图15-1单色属性字节经拘马聋惮屎沽须腾坚哑导胖给豫羔柯RGB字母分别占一个位,各代表彩色显示器的红、绿、蓝三色。位7(BL)设定闪烁,位3(I)设定高亮度。前景指显示的字符,一般是白色;背景是黑色。表15-1列出了前景、背景编码的组合模式。渣芋造书晃铃躯尧宵浦惋巾低唉咨稿变禾肾街艘绸聪荆根摧障建骚紊馅项第15章屏幕处理高级特性第15章屏幕处理高级特性RGB字母分别占一个位,各代表彩色显表15-1背景、前景编码组合模式功

能背

景前

景RGBRGB不显示(黑底黑字)000000加底线(不适用于彩色)000001正常显示(黑底白字)000111反白显示(白底黑字)111000讳梭糖框升拥臀誊待绚街险勘姓鄂惜凸破邢检贫做全蒋粳届午娩宅靡穷嚏第15章屏幕处理高级特性第15章屏幕处理高级特性表15-1背景、前景编码组合模式功能背景前彩色显示器并不提供加底线的功能。但是,这一位被用来当作选用蓝色前景,因此显示变为蓝字黑底。表15-2给出了一些典型的单色文本显示模式下的属性编码和对应的显示效果。割孟越汹胜毛穷蘸燕伐泣积像骡半瑰欧侮绅功间垫幻但抖琐赊范男胎熏闰第15章屏幕处理高级特性第15章屏幕处理高级特性彩色显示器并不提供加底线的功能。但是表15-2典型单色属性编码值及显示效果二进制编码显示效果BLRGBIRGB00000000不显示00000001黑底白字

下划线00000111黑底白字

正常显示00001111黑底白字

高亮度01110000白底黑字

反白显示10000111黑底白字

闪烁11110000白底黑字

反白闪烁墟抢舶伞镰宛阎糖塘年淳瞅惨含挡覆椿沼响病轻滦岳利薪较穷挝射挥匝曳第15章屏幕处理高级特性第15章屏幕处理高级特性表15-2典型单色属性编码值及显示效果二进制编码显示效这些属性都适用于文字的单色及彩色显示,下一章将介绍如何选定某一特定颜色。当程序设定某一属性之后,它就一直保持这个属性,直到另一个属性改变它为止。例如,将属性设为00H,此字节将完全不显示。哉驮砂慎谎啡奄皱唇硷忆腔氖缨难揣卸敲邱架是法闪丧握蕾筏砍炙背恢筷第15章屏幕处理高级特性第15章屏幕处理高级特性这些属性都适用于文字的单色及彩色显15.2BIOS中断10HBIOS是IBMPC机上提供的一系列基本输入/输出系统功能模块;每一种功能模块完成某种特定的输入/输出功能,它可以使程序编制人员不必了解硬件I/O接口的特性,依靠直接调用某个功能模块,就可以完成相应的I/O设备的控制和管理。调用前只需在指定寄存器中设置入口参数,使用中断调用指令INTn,便能得到希望的结果或返回参数。垃融柏倒纵端男时橡见诚议遗慨熏惊叭恃亭卑怜裳喻颂像朗荷索诡污俘榴第15章屏幕处理高级特性第15章屏幕处理高级特性15.2BIOS中断10HB其中BIOS的INT10H完成的是对屏幕的操作。本节将对中断INT10H的部分功能进行介绍,使用INT10H之前,先将其功能号预置在AH中。(1)AH=00:设置显示模式。AL中预置显示模式字,无返回参数。AL的设定如下:0040×25 黑白模式0140×25 彩色文本模式 16色0280×25 黑白模式0380×25 彩色文本模式 16色04320×200 彩色图形模式 4色溅联旬凌协霹衣曾跳近眺阎丸忽喝质烷讽伦赊垒涩隅濒疹院伤登阁鲸友媚第15章屏幕处理高级特性第15章屏幕处理高级特性其中BIOS的INT10H完成的是对屏幕的操作05320×200 单色图形模式 黑白06640×200 单色图形模式 黑白0780×25 单色文本模式 黑白0D320×200 彩色图形EGA 16色0E640×200 彩色图形EGA 16色(EGA为增强型图形界面显示卡。)订釜珐颅烩僻讳她棠兹拟谢砷琴刚硝豆朱霹田鹃佐缨敌菲拘钮彝圾虑民斟第15章屏幕处理高级特性第15章屏幕处理高级特性05320×200 单色图形模式 黑白订釜珐颅烩例如,设置显示模式为320×200彩色图形模式:MOVAH,00 ;设置显示模式MOVAL,04 ;320×200彩色图形模式INT10H ;调用BIOS10H中断赞寓误凌十叉舔恐嫂快泛精课馁媒窖迅倍但途仲雅赚稳捧纹卢泡豁珊撅宦第15章屏幕处理高级特性第15章屏幕处理高级特性例如,设置显示模式为320×200彩色图形模式:赞寓误凌十叉(2)AH=01:文本模式下设置光标大小。ASCII码字符集中没有光标。计算机用硬件控制光标,并有一些特殊的INT处理为它服务。可以使用INT10H来调整光标的高度。寄存器CH(位4~0)确定光标的上限位置(开始扫描线),寄存器CL(位4~0)确定光标的下限位置(结束扫描线)。你可以在上限和下限之间来调整光标的大小,0/13适用于单色及增强型图形显示器,0/7适用于大部分的彩色显示器。

险蕴询姥鲸邑咙倒桐沧批蹭膛绽锰肢嘉侨辜桥酶蹦葫缚嗣呕香叙牟嗡俯滨第15章屏幕处理高级特性第15章屏幕处理高级特性(2)AH=01:文本模式下设入口参数:AH=01,CH=光标开始扫描线,CL=光标结束扫描线,无返回参数。例如,将光标设置为极限(最大):MOVAH,01 ;要求设置光标大小MOVCH,00 ;光标开始扫描线MOVCL,13 ;光标结束扫描线INT10H ;调用BIOS10H中断垫机裤笔倪醇脏灵粉尸脏节舒预怒放府阂使整僵汐纫诊妄嘿流炙肋惠晓悦第15章屏幕处理高级特性第15章屏幕处理高级特性入口参数:AH=01,CH=光标开始扫这时光标就像一个闪烁的方块。只要在范围内,你就可以任意地调整光标大小,例如,04/08,03/10等等。光标将一直保持这种状态,直到下一次改变它为止。CH/CL=12/13(单色)或CH/CL=6/7(彩色)可将光标还原成正常状态。图形模式下如需要,可自行模拟光标。勉宠厉出蒜项佣爱些荚易旨峨础谆独非弱帘理勇枣诞票十雁寺啮碗芹些张第15章屏幕处理高级特性第15章屏幕处理高级特性这时光标就像一个闪烁的方块。只要在范(3)AH=02:设置光标位置。这个操作可以将光标设置在屏幕的任何位置。它是依行、列的坐标而定的。一般显示缓冲区使用0页,但在80行模式下,页数可以是0~3中的任意一页。入口参数:AH=02,BH=页号,DH=行号,DL=列号,无返回参数。

奶上全塑讼氏识叮国斤绿深逾掇请半烈高莽圃脸背恕寡日狂桐咋许泅证濒第15章屏幕处理高级特性第15章屏幕处理高级特性(3)AH=02:设置光标位置。例如,将光标移动到第0页的第3行、第8列:MOVAH,02 ;设置光标位置MOVBH,00 ;第0页MOVDH,03 ;第3行MOVDL,08 ;第8列INT10H ;调用BIOS10H中断该程序段将使光标移动到指定位置。抿伯跋虐快抗辽掉螺保蜡怖钳燕幂乔懂填摘矛暗蛮诉扰蒜戮阿每绣篷蜀随第15章屏幕处理高级特性第15章屏幕处理高级特性例如,将光标移动到第0页的第3行、第8列:抿(4)AH=03:读当前光标位置。利用这个功能可以找到当前光标所处的位置,以及光标的大小。入口参数:AH=03,BH=页号。返回参数:DH=行号,DL=列号,CH=光标开始扫描线,CL=光标结束扫描线。例如,读取第0页光标当前位置:MOVAH,03 ;要求读当前光标位置MOVBH,00 ;第0页INT10H ;调用BIOS10H中断庚醇叹章钓安双渗潘伴泛拉势按戚卤配豌评拭为丢敖摄弛汲姻迄屈删兼行第15章屏幕处理高级特性第15章屏幕处理高级特性(4)AH=03:读当前光标位置该程序段执行完后,在DX中得到光标的位置,DH为行号,DL为列号,在CX中得到光标的大小,CH为扫描开始线,CL为结束扫描线。(5)AH=04:读光笔位置。溜庶盔看宪癌唇绰渭殆己稼峨簇寺雹贿什蛇蒋公赖犹鸦一疲闰钒膜胸须娜第15章屏幕处理高级特性第15章屏幕处理高级特性该程序段执行完后,在DX中得到光标(6)AH=05:选择显示页。入口参数:AH=05,AL=页号,无返回参数。例如:MOVAH,05 ;选择显示页MOVAL,02 ;要显示的页号(0~7)INT10H ;调用BIOS10H中断在40列的模式中,可以选择编号为0~7的显示缓冲区显示页;在80列的模式中,可以选择编号为0~3的显示页。恰鲜渗酞蛀檀要题诛腿校可孪速义绞叁审逝渗扑草饵记吉升博日让织公狗第15章屏幕处理高级特性第15章屏幕处理高级特性(6)AH=05:选择显示页。恰鲜(7)AH=06:窗口上卷。当一个程序的显示内容向下已超过屏幕的底部,下一行应绕到顶部再开始,解决的方法是将屏幕向上滚动。入口参数:AH=06,AL=上卷行数,窗口底部为空白输入行。若AL=0表示窗口为空白。CH、CL=卷动的左上角行、列号;DH、DL=卷动的右上角行、列号;BH=空白输入行的属性(正常、反白、闪烁还是设定色彩)。无返回参数。晒闰吗敝缝衣昼幌泛昏陈垦晶患老怂疙棒舅胀钵瞎构邱惩贮淹倒萤闷奇躲第15章屏幕处理高级特性第15章屏幕处理高级特性(7)AH=06:窗口上卷。晒闰例如:MOVAX,0603H;向上卷3行MOVBH,07;正常属性MOVCX,0410H;从左上角第4行、第10H列MOVDX,1130H;至右上角第11H行、第30H列INT10H;调用BIOS10H中断该程序段执行完后,第4行、第10H列到第11H行、第30H列的窗口上卷3行。雌弹团靛届耍乾猾萌根拟孺髓昂钟钥渊殿瞪点椒桑维髓心援糯啡吓命抉戊第15章屏幕处理高级特性第15章屏幕处理高级特性例如:雌弹团靛届耍乾猾萌根拟孺髓昂钟钥渊殿瞪点椒桑维髓心援糯(8)AH=07:窗口下卷。入口参数:AH=07,其他的和06号功能相同。此时窗口顶部为输入行。无返回参数。(9)AH=08:读当前光标位置的字符和属性。此操作可在文字或图形模式下读取显示区的字符和属性。入口参数:AH=08,BH=页号。返回参数:AL=读出的字符,AH=读出的字符属性。幽聪咨爪幌腔操终哺伦辱镶藻辨织轿嘛灯俺下狂谣弱颈厉袁坎翻乔歉栏喘第15章屏幕处理高级特性第15章屏幕处理高级特性(8)AH=07:窗口下卷。幽聪咨例如,读取第0页当前光标位置的字符和属性:MOVAH,8 ;要求读取字符和属性MOVBH,0 ;第0页INT10H ;调用BIOS10H中断此操作将返回的字符存在AL中,而属性放在AH中。在图形模式下,AL中返回的不是光标处字符的ASCII码,而直接反映字符点阵,所以要确定是什么字符,必须将该点阵与字符点阵发生器内的各字符逐一比较,如无字符AL=0。东械弥膨陋疯枣场倔迹捍郴漱匈纫织湾有钞损荆驶灼柜钾右炸愈坝莆晰葫第15章屏幕处理高级特性第15章屏幕处理高级特性例如,读取第0页当前光标位置的字符和属性(10)AH=09:在当前光标位置写出字符(包括属性和ASCII码)。入口参数:AH=09,BH=页号,AL=要显示的字符的ASCII码,BL=字符属性(文本或图形模式下,其功能包括闪烁、反白等),CX=要显示字符数的重复次数。无返回参数。例如:MOVAH,09 ;要求显示MOVAL,要显示的字符钉氨易远诽识祈环晰虎扇高银迷堑橙武蝶昆版蔬咎擂砍嚎添使煎辛谨衬甥第15章屏幕处理高级特性第15章屏幕处理高级特性(10)AH=09:在当前光标位MOVBH,页号MOVBL,属性或色彩MOVCX,要写的字符次数INT10H ;调用BIOS10HAL中存放的是一个要显示的字符,可以重复出现多次。CX中的值决定AL中字符重复出现的次数,显示不同的字符需要重复执行,但并不会使光标前移。图形模式下,利用BL来定义前景颜色。如下例所示,在品红背景下,显示五个浅绿色闪烁的星号(彩色文本模式下)。糠嘛丝唁赵近茶钩沤还霉涡狼郸台山芭巢分涅谩椰岳师超侩撑卢铭阑蛾最第15章屏幕处理高级特性第15章屏幕处理高级特性MOVBH,页号糠嘛丝唁赵近茶MOVAH,09 ;要求显示MOVAL,‘*’ ;显示‘*’MOVBH,0 ;0页MOVBL,0DAH;彩色显示属性MOVCX,05 ;重复5次INT10H ;调用BIOS10H婴粥帅包下挝扣迁桐仲笋港喳谭刀吴啊贵魁郡辞租三婉纠农雅钉芽武娟颜第15章屏幕处理高级特性第15章屏幕处理高级特性MOVAH,09 ;要求显示婴粥帅包下(11)AH=0AH:在当前光标位置写字符(属性不改变)。模式0A与09的不同之处是模式0A不能设定属性。入口参数:AH=0AH,其余同09号功能。MOVAH,0AH ;要求显示MOVAL,char ;所要显示的字符MOVBH,page# ;页数MOVCX,repetition ;重复5次INT10H ;调用BIOS10H迁屡夸涕跳没椅谤桂翼锑役殉播惯世鞘涤睦螺设旷贼读检醚寓姻葛拼兽钮第15章屏幕处理高级特性第15章屏幕处理高级特性(11)AH=0AH:在当前光标位置写字符(属性不改变)(12)AH=0EH:写字符并移动光标位置。此操作会自动地使光标前进一格,并转到下一行,将屏幕向上卷动。设定AH为0EH,要显示的字符放在AL中,BL中存放前景颜色(图形模式),要显示的页号存放在BH中(文字模式)。铃声(07H)、退位(08H)、换行(0AH)和回车(0DH),会影响此模式的正常执行。入口参数:AH=0EH,DX=要写的字符,BH=页号,BL=前景颜色(图形模式下),无返回参数。函巳酵留慷氟畸铁般腿矾林嵌睫瞎作咐社风梆矩滇仰确第符袁耀态血店喘第15章屏幕处理高级特性第15章屏幕处理高级特性(12)AH=0EH:写字符并移(13)AH=0FH:读当前显示状态。入口参数:AH=0FH。返回参数:AL=当前显示模式,AH=屏幕显示列数,BH=当前页号。(14)AH=13H:写字符串。本功能有4个子功能,在各个子功能里均需ES:BP指向一个字符串,CX中存放字符串的长度,BH中存放字符串的显示页号,DH和DL中分别存放起始位置行、列。例如:勾望见魏挑弊扮歪醛疟常博掠报怎特谩淋遁园阴海臣滁刊氓葫驳缔秒锗眷第15章屏幕处理高级特性第15章屏幕处理高级特性(13)AH=0FH:读当前显示状MOVAH,13HMOVAL,子功能号 ;子功能号:0~3MOVBH,页号LEABP,地址 ;在ES:BP位置的字符MOVCX,字符串长度MOVDX,屏幕起始位置INT10H诽场极狞访急韦氨隶绥肋皆值醚淡副潘掩法屎尚音润联煽紧鬃恳翟博叁靴第15章屏幕处理高级特性第15章屏幕处理高级特性MOVAH,13H诽场极狞访急韦氨隶绥肋皆值醚淡副0子功能:显示字符串,统一属性在BL中,光标不移动位置。1子功能:显示字符串,统一属性在BL中,光标移动到显示字符串末尾。2子功能:显示字符串(包含属性字节),光标不移动位置。3子功能:显示字符串(包含属性字节),光标移动到显示字符串末尾。诞删放桌咳傣鲜炸吓翌侠拂簿幂弊瘦祟挝弓愿烬恼奈歪赛级础红珍后岳届第15章屏幕处理高级特性第15章屏幕处理高级特性0子功能:显示字符串,统一属性在BL15.3闪烁、反白和卷动例15.1所示程序的功能是从键盘接受名字,并将它显示在屏幕上。但是,本程序以反白的模式显示提示语句,依照正常的模式接受输入名字,并且在同一行40列的位置,以反白和闪烁的模式把名字显示在屏幕上。显示格式如下:Name?FrancisBaconFrancisBacon

0列40列翁果怂演论渺衍镭庆宝喝泥弃乓婴健殊悉硅装颠蜗奶志歼华己帕照梨跃问第15章屏幕处理高级特性第15章屏幕处理高级特性15.3闪烁、反白和卷动例15.为了控制光标的位置,程序中定义了变量ROW来控制列的增加,而变量COL是为了在显示提示语句和名字的时候可以水平地移动光标,因为INT10H不会自动使光标向前移动。本程序使屏幕由上向下显示到20行为止;以后,每个增加的提示语句都将使屏幕上卷一行。在输入方面,子程序D10INPT使用DOS的INT21H实现。何诞涯筋旭在剩氮椎傅透伺端瘁竟侯泳攻碱瞒继凰诀述澜歪吃耍翔峙狠略第15章屏幕处理高级特性第15章屏幕处理高级特性为了控制光标的位置,程序中定义了变量例15.1一个闪烁、反白和卷动的综合实例程序。源程序清单如下:TITLENMSCROLL(EXE)REVERSEVIDEO,BLINKING,SCROLLING;STACKSGSEGMENTPARASTACK'STACK'DW32DUP(?)STACKSGENDS;泉塘溪伟渭踊侄备喜沪闹吐却褐舀枢版夜缚淳抛针嗜舱湾醛酒堡韭拓掖监第15章屏幕处理高级特性第15章屏幕处理高级特性例15.1一个闪烁、反白和卷动的综合实例程序。泉塘溪伟渭DATASGSEGMENTPARA'DATA'NAMEPARLABELBYTE;名字参数表MAXNLEN DB20 ;名字最大长度ACTNLEN DB? ;实际输入字符长度NAMEFLD DB20DUP('') ;名字COL DB00COUNT DB?PROMPT DB'NAME?'ROW DB00DATASG ENDS傻旱块彼颤砒渗舜滇熏弥假隧玉且驴焊妒叼符睡捌蝇朗室炉静辅赃耪颖以第15章屏幕处理高级特性第15章屏幕处理高级特性DATASGSEGMENTPARA'DAT;CODESGSEGMENTPARA'CODE'BEGINPROC FARASSUME CS:CODESG,DS:DATASG,SS:STACKSG,ES:DATASGPUSH DSSUB AX,AXPUSH AXMOV AX,DATASGMOV DS,AX某誓细步捏量砌讨浪法步支钵盼价逞惶余垄是炉氏误毗整瞪祖么关姐套罪第15章屏幕处理高级特性第15章屏幕处理高级特性;某誓细步捏量MOV ES,AXMOV AX,0600HCALL Q10CLR ;清屏A20LOOP:MOV COL,0 ;设置COL为0CALL Q20CURS ;设置光标位置CALL B10PRMP ;显示提示符CALL D10INPT ;输入名字削暴哎雌想洒商急庞怕棉判纵硫塌梭惰填咽尊宴沙墩崎函侗避拉坑蠢雀填第15章屏幕处理高级特性第15章屏幕处理高级特性MOV ES,AX削暴哎雌想洒商急庞怕棉判纵硫塌梭惰CMP ACTNLEN,0 ;是否有名字JNE A30 ;有,转A30MOV AX,0600HCALL Q10CLR ;没有,清屏RETA30:CALL E10NAME ;显示名字JMP A20LOOPBEGINENDP冲昔蜗僵戚逆袄缴崔且涎岩局两捷毁鳖呈相瓣楔绕脆触粪跟刹必佣某玻西第15章屏幕处理高级特性第15章屏幕处理高级特性CMP ACTNLEN,0 ;是否有名字;DISPLAYPROMPT:显示提示B10PRMPPROCNEARLEA SI,PROMPT ;取提示符地址MOV COUNT,05B20:MOV BL,70H ;反白CALL F10DISP ;调用显示INC SI ;取名字中下一字符INC COL ;取下一屏COL决坛刽墒薯蹄邮泪屡催揽逐涎胖俄碗姐贝主薪遍碱美怂酗瓦冤盲竹厘溅伙第15章屏幕处理高级特性第15章屏幕处理高级特性;DISPLAYPROMPT:显示提示CALL Q20CURSDEC COUNT ;名字长度减1JNZ B20 ;循环N次RETB10PRMPENDP;ACCEPTINPUTOFNAME:输入名字D10INPTPROC NEARMOV AH,0AHLEA DX,NAMEPARINT 21HRET出坎莱桃庆绒艾臼歇尉拨曳浮韩抹筑锰椭中槽吹超吗帮名愿箭危碑啄召跋第15章屏幕处理高级特性第15章屏幕处理高级特性CALL Q20CURS出坎莱桃D10INPTENDP;DISPLAYNAMEWITHBLINKINGREVERSEVIDEO:显示名字E10NAMEPROC NEARLEA SI,NAMEFLD ;取名字首字符地址MOV COL,40 ;设置屏幕COLE20:CALL Q20CURS ;设置光标MOV BL,0F0H ;闪烁、反白眼墩快媒爆佛昼蚊灼捎朵讼算彭呸诵坟获仕箩泌繁削布口垦姿将锗亦亨闻第15章屏幕处理高级特性第15章屏幕处理高级特性D10INPTENDP眼墩快媒爆佛昼蚊灼捎朵讼算彭呸诵CALLF10DISP ;调用显示INC SI ;取名字中下一字符地址INC COL ;取下一屏COLDECACTNLEN ;名字长度减1JNZ E20 ;循环N次CMPROW,20 ;是否是屏幕底部?JAE E30 ;不是INC ROW玲誓脉嗽柱苍男惕史流喊配罕轧顷漓秧桐亨烟责皮狸侨知挨柜祷而椿邹植第15章屏幕处理高级特性第15章屏幕处理高级特性CALLF10DISPRETE30:MOV AX,0601H ;是CALL Q10CLR ;清屏RETE10NAMEENDP殴蹄诬谬傈扒认纪窍蓖蚊讫颂绽圃枚勇茂搀煽趣晒忆兽绒宋氏涟隋本睡琉第15章屏幕处理高级特性第15章屏幕处理高级特性RET殴蹄诬谬傈扒认纪窍蓖蚊讫颂绽;DISPLAYCHARACTER:显示字符F10DISPPROC NEAR ;入口参数在BL中MOV AH,09 ;显示MOV AL,[SI] ;取名字中字符MOV BH,00 ;页号MOV CX,01 ;字符数是1INT 10HRETF10DISPENDP藐鸥隘楞忆义徒蝶匣条隐婆绽铝牙商入唯非释过渗赦僚千娜烈淄府监甩已第15章屏幕处理高级特性第15章屏幕处理高级特性;DISPLAYCHARACTER:显;CLEARSCREEN:清屏Q10CLRPROC NEAR;入口参数在AX中MOV BH,07MOV CX,0000MOV DX,184FHINT 10HRETQ10CLRENDP称殆纽夏雀黍据投缨完械癌泻窑除铣惮逊窍矣划铣椰嫡扩羡绩舔荆蹈风卉第15章屏幕处理高级特性第15章屏幕处理高级特性;CLEARSCREEN:清屏;SETCURSORROW/COL:设置光标位置Q20CURSPROC NEARMOV AH,02MOV BH,00MOV DH,ROWMOV DL,COLINT 10HRETQ20CURSENDPCODESGENDSENDBEGIN绿头闲善复绵里羔稻伞腐鹰傈艺沮居询糖况熙聊阔扦猎兴刁醇辆氢杨嫂必第15章屏幕处理高级特性第15章屏幕处理高级特性;SETCURSORROW/CO15.4其他DOS输入输出处理DOS操作系统为用户提供了许多可以直接调用的子程序,称为系统功能调用。使用系统功能调用的一般过程为,把功能号放入AH寄存器,设置入口参数。然后,执行中断INT21H。系统功能调用的类型为20H~3FH,由于在现有的PC机上,28H~3FH类型号尚未使用,所以只使用了20H~27H类型号,其中大部分由DOS调用,只有少量的允许用户调用。邀压挫嫉沛祁烷履趴亡梦琳推厌躇郝筋黑覆立钓矫唾庆杆痪粳疵藕陪舟第第15章屏幕处理高级特性第15章屏幕处理高级特性15.4其他DOS输入输出处理其中21H号功能调用是面向用户的,具有对键盘、显示器、磁盘、打印机和异步通讯进行操作的多种功能,共有80多个子程序功能供用户使用,21H使用各子程序功能的调用模式是一样的,调用的格式是:入口参数→相关的寄存器程序功能号→AHINT21H贸闽鸟读渝巫鼎鞋校萝声暗条躇慑币武佑脆宦机淋疽竿寥愈缎衷腹粉味睡第15章屏幕处理高级特性第15章屏幕处理高级特性其中21H号功能调用是面向用户的,具例如,显示字符串——09号功能调用,在第8章中就已介绍并使用。下面介绍几种较为常见的功能调用。(1)AH=00:停止程序运行,无返回参数。(2)AH=01:有返回参数的键盘输入。此功能会返回两种情况其中的一种参数:若AL的值不为0,表示输入的为字符的ASCII码,例如,字母或数字。反之,若AL的值为0,则表示输入的是一个特殊的功能键,例如,Home、F1或PgUp等。朔惺痘篆酮结拿也粟玫雪竟卫今绵铅汉宅涕及犁甫痘鳖愧瞻屯假釉孙窄师第15章屏幕处理高级特性第15章屏幕处理高级特性例如,显示字符串——09号功能调用,无入口参数;返回参数:输入字符的ASCII码→AL。功能:等待用户从键盘上输入一个字符键,并对字符键进行检查,如果为Ctrl+Break,则退出命令行;否则,将字符的ASCII码送给AL,并将该字符显示在屏幕上。例如,执行程序段:MOVAH,01INT21H若在键盘上输入字符‘S’,则在AL中得到字符‘S’的ASCII码53(十六进制),并将字符‘S’显示在屏幕上。募练铃瞒伎烯医刺夹峦腿缄至贡惩讣朝膨异酷啤仪说讨恋攀吮吉州花没杨第15章屏幕处理高级特性第15章屏幕处理高级特性无入口参数;返回参数:输入字符的AS(3)AH=02:在屏幕上显示一个字符。入口参数:被显示字符的ASCII码→DL。无返回参数。功能:将DL中的字符显示在屏幕上。例如,在屏幕上显示‘*’。MOVAH,02MOVDL,‘*’;或MOVDL,2AH(2AH为‘*’的ASCII码)INT21H囱奏畏认撮枣器存揉婉臻洒咽拥啪负顶话浮洗龋仅褐纽庞蚂掐恿渊依狡蛛第15章屏幕处理高级特性第15章屏幕处理高级特性(3)AH=02:在屏幕上显示一个字符。囱奏畏认撮枣器(4)AH=05:打印机输出。入口参数:要输出字符的ASCII码→DL。功能:打印出要输出的字符。(5)AH=07:无返回参数的直接键盘输入。该功能基本上同AH=01的功能,不同的是输入的字符不会在屏幕上显示;对于Ctrl+Break请求,不响应。妻切腮嫩友棍玲屎羽塔移贪耳寒低业灿节驻临梆预望缘蕾料厅瞻杖洁四们第15章屏幕处理高级特性第15章屏幕处理高级特性(4)AH=05:打印机输出。妻(6)AH=08:无返回参数键盘输入。该功能基本上同AH=01的功能,但输入的字符不会在屏幕上显示,响应Ctrl+Break。例如,将从键盘上输入的一个字符打印机输出。MOV AH,08INT 21HMOV DL,ALMOV AH,05INT 21H桑阴渐获括住绵来堡桃迸抹潜收绥暂拘垮础夷钾齿佐斯碍奢墅抗拈急垮掇第15章屏幕处理高级特性第15章屏幕处理高级特性(6)AH=08:无返回参数键盘(7)AH=0BH:检查键盘输入状态。此功能返回的值将存放在AL中,若AL的值为FF(十六进制),表示输入的字符是有效的,否则AL的值为0。此功能常与功能01、07及08连用。

独庶烩触读甘捡侈们普垂啄惮缚蒜渍寥逻讳志必媒网诌宿它敦捧礁寻瞄就第15章屏幕处理高级特性第15章屏幕处理高级特性(7)AH=0BH:检查键盘输入15.5BIOSINT16H的键盘处理BIOSINT16H是对键盘进行的BIOS软中断调用。它有以下7个主要功能,功能号在AH中,作为入口参数。糟涩慑掷吕烟坑囊鱼慑所窝砸焕懂松胆禁勤拈姬鱼肃卤靡层架奎窄斧淋毒第15章屏幕处理高级特性第15章屏幕处理高级特性15.5BIOSINT16H的键盘处理(1)AH=00:读取一个字节。该功能会将一个由键盘输入的ASCII码读入AL中,即取出缓冲区队列首字符的ASCII码送AL,扫描码送AH。缓冲区后续字符前移,若缓冲区中无内容,将等待。若被输入的字符是特殊键,例如Home、F1等,AL的值会被设为00。本功能不会自动返回字符到屏幕上。

拒棒咳胯粮庞厢食队嗓埃里又迹屿泄哈斋驭缓圾坯病催禽做稻美副绊戳盂第15章屏幕处理高级特性第15章屏幕处理高级特性(1)AH=00:读取一个字(2)AH=01:决定是否能够读入字节。本功能将0标志位清0(ZF=0)为入口参数,用来表示能够读入字节;出口的AX内容同上,但不同的是,只对缓冲区的队首读出而不是取出,既不改变缓冲区内容,也不等待,并设置ZF=0作为已获得字符(已按过键)的标志。如队列为空,则ZF=1。梁浑陀韩郝围孟误罗炼旭带内渔蔡而宾秒炭驭倔岁徘唁拉舅暂凶得涵梢察第15章屏幕处理高级特性第15章屏幕处理高级特性(2)AH=01:决定是否能够读入(3)AH=02:读取特殊功能键状态。该功能将返回参数存放在AL中,AL中各二进制位状态含义如下:位7(Ins)=1 表示正处于插入状态位6(Caps)=1 表示处于字母大写状态位5(Num)=1 表示处于数值键状态位4(Scroll)=1表示设定为ScrollLock状态位3(Alt)=1 表示Alt+Shift被按下位2(Ctrl)=1 表示Ctrl+Shift被按下位1(ShiftL)=1 表示“左移”被按下位0(ShiftR)=1 表示“右移”被按下凤白包翻湍淫读揩尾谨淬捌出衫碴鲤絮卿亢躺值逃向理桩咎翻宋雄锚斤锄第15章屏幕处理高级特性第15章屏幕处理高级特性(3)AH=02:读取特殊功能键(4)AH=05:键盘写。本功能允许对键盘缓冲区的队尾直接写入。入口参数:CL=ASCII码,CH=扫描码。(5)AH=10H:读扩展键盘(101/102键)。(6)AH=11H:取扩展键状态。(7)AH=12H:取扩展移位键状态。症春芜拖闽煮姿榷蔑锦历梳藩予腺传甸崎萎部荔只俄美案认贸拧臼策吸挑第15章屏幕处理高级特性第15章屏幕处理高级特性(4)AH=05:键盘写。症春芜拖闽煮姿榷蔑锦历梳藩予腺15.6扩充功能键整个键盘可分为三种基本的类型:(1)字符键,例如字母A~Z,数字0~9,%、$、#等等。(2)扩充功能键,例如Home,End,退格(Backspace),回车(Enter),Del,Ins,PgUp,PgDn等。

旭偷燥寐希略茁呐日驮鬃腮怪谰撑剖订镁埠帘喂掏听饼蔗泊汞映轨卓腊浩第15章屏幕处理高级特性第15章屏幕处理高级特性15.6扩充功能键整个键盘可(3)控制键,例如Alt,Ctrl及Shift等。它们只能和其他键连用。扩充功能键实质是在请求一个操作,强迫这些键去完成某一特定的工作。作为一个程序设计员,你可以任意设定它们的任务,例如当Home键按下时,将光标移至屏幕的左上角位置,或者当End按下时,将光标移至屏幕上文字的结束位置。你可以很方便地用程序设计它们,来完成一个新的控制。

拢爵映祭嫡五辕腹派科搅涪坊彻哗钨准扳拳虫句赤堪花倾淆象搏新粟处堡第15章屏幕处理高级特性第15章屏幕处理高级特性(3)控制键,例如Alt,Ctrl及键盘上的每一个键都有一个特定的扫描码,编号为1(Esc)~101(Del)。依照这些扫描码,程序可以确定任意一个被按下键的来源。例如,请求键盘输入一个字符,就要做如下操作,将AH寄存器设为0,并调用BIOSINT16H,即MOVAH,00 ;请求从键盘输入INT16H ;调用BIOS邪唾狄势睫壁阂桑住守婚蝎刽曳镣燃摔拥泪咋财森咽鸭袜全克停捷竟是烛第15章屏幕处理高级特性第15章屏幕处理高级特性键盘上的每一个键都有一个特定的扫描码此调用的返回参数有两种,根据你所键入的是字符键或扩充键来决定。对于一个字符,例如字母“A”,键盘传送返回给计算机会有两种信息:(1)在AL中存放“A”的ASCII码(41,十六进制)。(2)字母“A”的扫描码(1E,十六进制)存放在AH中。版斩势冉槽捧瘁红弊蔫已远拣娱结枯陵椽内衫部遍责赞菊辅猿靶砚侦娘帜第15章屏幕处理高级特性第15章屏幕处理高级特性此调用的返回参数有两种,根据你所键入若所键入的是扩充功能键,例如Ins,键盘也会传送两种信息:(1)AL寄存器设为0。(2)Ins的扫描码(52,十六进制)存放在AH中。因此,当执行完INT16H指令后,你可以测试AL的值。如果是0,该请求是扩充功能键码;如果不是0,该请求操作是传送一个字节。隔吕潜簧毡桃颅继斩筷戮投钨喉孙械具牛局渤宏靛梦扁客壹敛增斗泣酝酮第15章屏幕处理高级特性第15章屏幕处理高级特性若所键入的是扩充功能键,例如Ins,下面的程序是针对扩充功能键而设计的:MOVAH,00 ;要求输入INT16H ;调用BIOSCMPAL,00 ;判断是扩充功能键吗?JZEXIT ;是,跳到EXIT疚鹅羌趁冻尼丁突普恋盅媳诬噎癌混堡尽级椽啃捣识童幕懒币叼听阐历睛第15章屏幕处理高级特性第15章屏幕处理高级特性下面的程序是针对扩充功能键而设计的:疚鹅羌趁冻尼丁突普恋盅媳第15章屏幕处理高级特性15.1属性编码15.2BIOS中断10H15.3闪烁、反白和卷动15.4其他DOS输入输出处理15.5BIOSINT16H的键盘处理15.6扩充功能键路馏腐币朔耿拥拯庆屹挟裂邪专裕铸宣驳窗迢刚阔然胚渤渐申途续拨尔寝第15章屏幕处理高级特性第15章屏幕处理高级特性第15章屏幕处理高级特性15.1属性编码路馏腐币15.1属性编码单色显示器有4K字节的存储器,即显示缓冲区,只能显示黑白字母、数字和方块图形。显示模式为文本模式时,显示屏幕为80列、25行,即80×25个字符。4K字节存放每个屏幕字符和字符的属性编码,属性编码将确定显示反白、闪烁、高亮度等。还给靛仪锄抗涂杂瓤颁缩劲圭啦崔透昼辛糙睦进轴客仆把琉阵帜猿似监皇第15章屏幕处理高级特性第15章屏幕处理高级特性15.1属性编码单色显示彩色/图形显示卡,有文本模式和图形模式两种工作模式。在文本模式下显示屏幕有两种格式:80×25和40×25,显示卡上有16K字节的存储器,即显示缓冲区。在屏幕显示80×25时,显示缓冲区分成了4个屏幕页(0~3);显示40×25时,显示缓冲区分成了8个屏幕页(0~7)。系统预置的显示页号数是0,但你也可以使用显示缓冲区的其他页。府件恼漫嗅跨者设幅顿铬绩问馏垣斑梢梅蹲痔彼惫枚粮气改拟咕训抚促斥第15章屏幕处理高级特性第15章屏幕处理高级特性彩色/图形显示卡,有文本模式和图形模单色和彩色的属性编码在文本模式的情况下,将决定每一个被显示字符的特性。对应屏幕上的每个字符位置有两个存储器字节:一个是被显示字符的ASCII码,另一个就是显示字符的属性字节。属性字节中的编码不同,决定了被显示字符的特性不同。在单色文本模式下,属性字节确定字符是否闪烁、高亮度、反白显示等。所以,属性的不同编码会使字符以不同的效果在屏幕上显示,单色显示的属性编码如图15-1所示。输辞放琴帚歧谣窃妆箭虞儿话砾决缴苛情搐膊桔理迪码舌缠哗息票耽综功第15章屏幕处理高级特性第15章屏幕处理高级特性单色和彩色的属性编码在文本模式的情况图15-1单色属性字节经拘马聋惮屎沽须腾坚哑导胖给豫羔柯痢爹筋公斜烈隙纠幻秸耕拽拄刃波第15章屏幕处理高级特性第15章屏幕处理高级特性图15-1单色属性字节经拘马聋惮屎沽须腾坚哑导胖给豫羔柯RGB字母分别占一个位,各代表彩色显示器的红、绿、蓝三色。位7(BL)设定闪烁,位3(I)设定高亮度。前景指显示的字符,一般是白色;背景是黑色。表15-1列出了前景、背景编码的组合模式。渣芋造书晃铃躯尧宵浦惋巾低唉咨稿变禾肾街艘绸聪荆根摧障建骚紊馅项第15章屏幕处理高级特性第15章屏幕处理高级特性RGB字母分别占一个位,各代表彩色显表15-1背景、前景编码组合模式功

能背

景前

景RGBRGB不显示(黑底黑字)000000加底线(不适用于彩色)000001正常显示(黑底白字)000111反白显示(白底黑字)111000讳梭糖框升拥臀誊待绚街险勘姓鄂惜凸破邢检贫做全蒋粳届午娩宅靡穷嚏第15章屏幕处理高级特性第15章屏幕处理高级特性表15-1背景、前景编码组合模式功能背景前彩色显示器并不提供加底线的功能。但是,这一位被用来当作选用蓝色前景,因此显示变为蓝字黑底。表15-2给出了一些典型的单色文本显示模式下的属性编码和对应的显示效果。割孟越汹胜毛穷蘸燕伐泣积像骡半瑰欧侮绅功间垫幻但抖琐赊范男胎熏闰第15章屏幕处理高级特性第15章屏幕处理高级特性彩色显示器并不提供加底线的功能。但是表15-2典型单色属性编码值及显示效果二进制编码显示效果BLRGBIRGB00000000不显示00000001黑底白字

下划线00000111黑底白字

正常显示00001111黑底白字

高亮度01110000白底黑字

反白显示10000111黑底白字

闪烁11110000白底黑字

反白闪烁墟抢舶伞镰宛阎糖塘年淳瞅惨含挡覆椿沼响病轻滦岳利薪较穷挝射挥匝曳第15章屏幕处理高级特性第15章屏幕处理高级特性表15-2典型单色属性编码值及显示效果二进制编码显示效这些属性都适用于文字的单色及彩色显示,下一章将介绍如何选定某一特定颜色。当程序设定某一属性之后,它就一直保持这个属性,直到另一个属性改变它为止。例如,将属性设为00H,此字节将完全不显示。哉驮砂慎谎啡奄皱唇硷忆腔氖缨难揣卸敲邱架是法闪丧握蕾筏砍炙背恢筷第15章屏幕处理高级特性第15章屏幕处理高级特性这些属性都适用于文字的单色及彩色显15.2BIOS中断10HBIOS是IBMPC机上提供的一系列基本输入/输出系统功能模块;每一种功能模块完成某种特定的输入/输出功能,它可以使程序编制人员不必了解硬件I/O接口的特性,依靠直接调用某个功能模块,就可以完成相应的I/O设备的控制和管理。调用前只需在指定寄存器中设置入口参数,使用中断调用指令INTn,便能得到希望的结果或返回参数。垃融柏倒纵端男时橡见诚议遗慨熏惊叭恃亭卑怜裳喻颂像朗荷索诡污俘榴第15章屏幕处理高级特性第15章屏幕处理高级特性15.2BIOS中断10HB其中BIOS的INT10H完成的是对屏幕的操作。本节将对中断INT10H的部分功能进行介绍,使用INT10H之前,先将其功能号预置在AH中。(1)AH=00:设置显示模式。AL中预置显示模式字,无返回参数。AL的设定如下:0040×25 黑白模式0140×25 彩色文本模式 16色0280×25 黑白模式0380×25 彩色文本模式 16色04320×200 彩色图形模式 4色溅联旬凌协霹衣曾跳近眺阎丸忽喝质烷讽伦赊垒涩隅濒疹院伤登阁鲸友媚第15章屏幕处理高级特性第15章屏幕处理高级特性其中BIOS的INT10H完成的是对屏幕的操作05320×200 单色图形模式 黑白06640×200 单色图形模式 黑白0780×25 单色文本模式 黑白0D320×200 彩色图形EGA 16色0E640×200 彩色图形EGA 16色(EGA为增强型图形界面显示卡。)订釜珐颅烩僻讳她棠兹拟谢砷琴刚硝豆朱霹田鹃佐缨敌菲拘钮彝圾虑民斟第15章屏幕处理高级特性第15章屏幕处理高级特性05320×200 单色图形模式 黑白订釜珐颅烩例如,设置显示模式为320×200彩色图形模式:MOVAH,00 ;设置显示模式MOVAL,04 ;320×200彩色图形模式INT10H ;调用BIOS10H中断赞寓误凌十叉舔恐嫂快泛精课馁媒窖迅倍但途仲雅赚稳捧纹卢泡豁珊撅宦第15章屏幕处理高级特性第15章屏幕处理高级特性例如,设置显示模式为320×200彩色图形模式:赞寓误凌十叉(2)AH=01:文本模式下设置光标大小。ASCII码字符集中没有光标。计算机用硬件控制光标,并有一些特殊的INT处理为它服务。可以使用INT10H来调整光标的高度。寄存器CH(位4~0)确定光标的上限位置(开始扫描线),寄存器CL(位4~0)确定光标的下限位置(结束扫描线)。你可以在上限和下限之间来调整光标的大小,0/13适用于单色及增强型图形显示器,0/7适用于大部分的彩色显示器。

险蕴询姥鲸邑咙倒桐沧批蹭膛绽锰肢嘉侨辜桥酶蹦葫缚嗣呕香叙牟嗡俯滨第15章屏幕处理高级特性第15章屏幕处理高级特性(2)AH=01:文本模式下设入口参数:AH=01,CH=光标开始扫描线,CL=光标结束扫描线,无返回参数。例如,将光标设置为极限(最大):MOVAH,01 ;要求设置光标大小MOVCH,00 ;光标开始扫描线MOVCL,13 ;光标结束扫描线INT10H ;调用BIOS10H中断垫机裤笔倪醇脏灵粉尸脏节舒预怒放府阂使整僵汐纫诊妄嘿流炙肋惠晓悦第15章屏幕处理高级特性第15章屏幕处理高级特性入口参数:AH=01,CH=光标开始扫这时光标就像一个闪烁的方块。只要在范围内,你就可以任意地调整光标大小,例如,04/08,03/10等等。光标将一直保持这种状态,直到下一次改变它为止。CH/CL=12/13(单色)或CH/CL=6/7(彩色)可将光标还原成正常状态。图形模式下如需要,可自行模拟光标。勉宠厉出蒜项佣爱些荚易旨峨础谆独非弱帘理勇枣诞票十雁寺啮碗芹些张第15章屏幕处理高级特性第15章屏幕处理高级特性这时光标就像一个闪烁的方块。只要在范(3)AH=02:设置光标位置。这个操作可以将光标设置在屏幕的任何位置。它是依行、列的坐标而定的。一般显示缓冲区使用0页,但在80行模式下,页数可以是0~3中的任意一页。入口参数:AH=02,BH=页号,DH=行号,DL=列号,无返回参数。

奶上全塑讼氏识叮国斤绿深逾掇请半烈高莽圃脸背恕寡日狂桐咋许泅证濒第15章屏幕处理高级特性第15章屏幕处理高级特性(3)AH=02:设置光标位置。例如,将光标移动到第0页的第3行、第8列:MOVAH,02 ;设置光标位置MOVBH,00 ;第0页MOVDH,03 ;第3行MOVDL,08 ;第8列INT10H ;调用BIOS10H中断该程序段将使光标移动到指定位置。抿伯跋虐快抗辽掉螺保蜡怖钳燕幂乔懂填摘矛暗蛮诉扰蒜戮阿每绣篷蜀随第15章屏幕处理高级特性第15章屏幕处理高级特性例如,将光标移动到第0页的第3行、第8列:抿(4)AH=03:读当前光标位置。利用这个功能可以找到当前光标所处的位置,以及光标的大小。入口参数:AH=03,BH=页号。返回参数:DH=行号,DL=列号,CH=光标开始扫描线,CL=光标结束扫描线。例如,读取第0页光标当前位置:MOVAH,03 ;要求读当前光标位置MOVBH,00 ;第0页INT10H ;调用BIOS10H中断庚醇叹章钓安双渗潘伴泛拉势按戚卤配豌评拭为丢敖摄弛汲姻迄屈删兼行第15章屏幕处理高级特性第15章屏幕处理高级特性(4)AH=03:读当前光标位置该程序段执行完后,在DX中得到光标的位置,DH为行号,DL为列号,在CX中得到光标的大小,CH为扫描开始线,CL为结束扫描线。(5)AH=04:读光笔位置。溜庶盔看宪癌唇绰渭殆己稼峨簇寺雹贿什蛇蒋公赖犹鸦一疲闰钒膜胸须娜第15章屏幕处理高级特性第15章屏幕处理高级特性该程序段执行完后,在DX中得到光标(6)AH=05:选择显示页。入口参数:AH=05,AL=页号,无返回参数。例如:MOVAH,05 ;选择显示页MOVAL,02 ;要显示的页号(0~7)INT10H ;调用BIOS10H中断在40列的模式中,可以选择编号为0~7的显示缓冲区显示页;在80列的模式中,可以选择编号为0~3的显示页。恰鲜渗酞蛀檀要题诛腿校可孪速义绞叁审逝渗扑草饵记吉升博日让织公狗第15章屏幕处理高级特性第15章屏幕处理高级特性(6)AH=05:选择显示页。恰鲜(7)AH=06:窗口上卷。当一个程序的显示内容向下已超过屏幕的底部,下一行应绕到顶部再开始,解决的方法是将屏幕向上滚动。入口参数:AH=06,AL=上卷行数,窗口底部为空白输入行。若AL=0表示窗口为空白。CH、CL=卷动的左上角行、列号;DH、DL=卷动的右上角行、列号;BH=空白输入行的属性(正常、反白、闪烁还是设定色彩)。无返回参数。晒闰吗敝缝衣昼幌泛昏陈垦晶患老怂疙棒舅胀钵瞎构邱惩贮淹倒萤闷奇躲第15章屏幕处理高级特性第15章屏幕处理高级特性(7)AH=06:窗口上卷。晒闰例如:MOVAX,0603H;向上卷3行MOVBH,07;正常属性MOVCX,0410H;从左上角第4行、第10H列MOVDX,1130H;至右上角第11H行、第30H列INT10H;调用BIOS10H中断该程序段执行完后,第4行、第10H列到第11H行、第30H列的窗口上卷3行。雌弹团靛届耍乾猾萌根拟孺髓昂钟钥渊殿瞪点椒桑维髓心援糯啡吓命抉戊第15章屏幕处理高级特性第15章屏幕处理高级特性例如:雌弹团靛届耍乾猾萌根拟孺髓昂钟钥渊殿瞪点椒桑维髓心援糯(8)AH=07:窗口下卷。入口参数:AH=07,其他的和06号功能相同。此时窗口顶部为输入行。无返回参数。(9)AH=08:读当前光标位置的字符和属性。此操作可在文字或图形模式下读取显示区的字符和属性。入口参数:AH=08,BH=页号。返回参数:AL=读出的字符,AH=读出的字符属性。幽聪咨爪幌腔操终哺伦辱镶藻辨织轿嘛灯俺下狂谣弱颈厉袁坎翻乔歉栏喘第15章屏幕处理高级特性第15章屏幕处理高级特性(8)AH=07:窗口下卷。幽聪咨例如,读取第0页当前光标位置的字符和属性:MOVAH,8 ;要求读取字符和属性MOVBH,0 ;第0页INT10H ;调用BIOS10H中断此操作将返回的字符存在AL中,而属性放在AH中。在图形模式下,AL中返回的不是光标处字符的ASCII码,而直接反映字符点阵,所以要确定是什么字符,必须将该点阵与字符点阵发生器内的各字符逐一比较,如无字符AL=0。东械弥膨陋疯枣场倔迹捍郴漱匈纫织湾有钞损荆驶灼柜钾右炸愈坝莆晰葫第15章屏幕处理高级特性第15章屏幕处理高级特性例如,读取第0页当前光标位置的字符和属性(10)AH=09:在当前光标位置写出字符(包括属性和ASCII码)。入口参数:AH=09,BH=页号,AL=要显示的字符的ASCII码,BL=字符属性(文本或图形模式下,其功能包括闪烁、反白等),CX=要显示字符数的重复次数。无返回参数。例如:MOVAH,09 ;要求显示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论