汇编学习.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编学习

7.2 显示器I/O ;程序员可在以下情况下考虑使用BIOS的功能调用。 1.BIOS提供的功能,而DOS没有提供该功能。 2.不能利用DOS功能调用的情况(可能因为某些具体应用的限制)。 3.基于处理速度的考虑,需要绕过DOS层的情况。 利用BIOS功能编写和程序简洁,可读性好,而且易于移植。;   在存储器系统中,从地址0FE000H开始的8K ROM(只读存储器)中装有BIOS(Basic Iuput /output System)例行程序。驻留在ROM中的BIOS给PC系列的不同微处理器提供了兼容的系统加电自检,引导装入,主要I/O设备的处理程序以及接口控制等功能模块来处理所有的系统中断。使用BIOS功能调用,给程序员编程带来很大方便,程序员不必了解硬件操作的具体细节,直接用指令设置参数,然后中断调用BIOS中的子功能,所以利用BIOS功能编写的程序简洁,可读性好,而且易于移植。   DOS(Disk Operating System)是PC机上最重要的操作系统。DOS对硬件的依赖性更少些。      ;在一些情况下,既能选择DOS中断也能选择BIOS中断来执行同样的功能。例如,打印机输出一个字符的功能,可用DOS中断21H的功能5,也可用BIOS中断17H的功能0。因为BIOS比DOS更靠近硬件,因此建议尽可能地使用DOS功能,但在少数情况下必须使用BIOS功能,例如,BIOS中断17H的功能2为读打印机状态,它就没有等效的DOS功能。   DOS中断能处理大多数的I/O,但有一些功能还没有提供,如声音控制等,这就要考虑用I/O指令在端口级上编程,或使用高级语言编程。 ;      BIOS功能与DOS功能都是通过软件中断调用的。在中断调用前需要把功能号装入AH寄存器,把子功能号装入AL寄存器,除此而外,通常还需在CPU寄存器中提供专门的调用参数。一般地说,调用DOS或BIOS功能时,有以下几个基本步骤:   1、 将调用参数装入指定的寄存器中;   2、 如需功能号,把它装入AH;   3、 如需子功能号,把它装入AL;   4、 按中断号调用DOS或BIOS中断;   5、 检查返回参数是否正确;7.1 键盘I/O; 键盘主要由三种基本类型的键组成:;0040:001A BUFF_HEAD DW ? ;键盘缓冲区的首地址 0040:001C BUFF_TAIL DW ? ;键盘缓冲区的首地址 0040:001E KB_BUFFER DW 16 DUP(?);键盘缓冲区的首地址 0040:003E KB_BUFFER_END LABEL WORD 这个缓冲区是一个先进后出的循环队列,BUFF_HEAD和 BUFF_TAIL是缓冲区的两个地址指针。当HEAD和TAIL指针 相等时,说明缓冲区为空。当CPU想要得到键盘输入时,就调用 BIOS例行程序,它按其接收时的次序从缓冲区取出字符和扫描 码,回送CPU。缓冲区的大小可以适应最快的打字员,但如果 缓冲区已满又按下一个键,BIOS不处理这个键,只发出“嘀”的 一声。 我们可以用BIOS中断,也可以用DOS中断和键盘通信,下面 我们分别讨论这两种键盘中断。; 7.1.2BIOS键盘中断; 7.1.3 DOS键盘功能调用;1.单字符输入; 2.输入字符串 在许多应用程序中,要求用户输入姓名,地址,或其他字符串, 21H 中断的功能A 能从键盘读入一串字符并把它存入用户定义的缓冲区中。 缓冲区的第一个字节保存最大字符数, 第二个字节是实际输入字符的个数, 第三个字节开始存入字符串,最后结束字符串的回车0DH还要占用一个字节,因此整个缓冲区的字节空间应为最大字符数(包括Return在内)加2。 ;3.清除键盘缓冲区 INT 21H的功能0CH能清除键盘缓冲区,然后执行在AL中指定的功能。AL指定的功能可以是01H,06H,07H,08H或0AH,使用0CH功能可以使程序在输入一个字符之前,将以前键入的字符清除掉。;7.2 显示器I/O; 显示器通过显示适配器(显卡)与PC机相连。; 25行×80列;  7.2.1.1 单色字符显示     对单色显示,字符的属性定义了字符的显示特性,如字符是否闪烁,是否加强亮度,是否反相显示。单色显示属性字节的各位功能如动画所示。   属性可以有不同的组合,例如可以在屏幕上显示白底黑字(反相显示)代替通常的黑底白字。正常的属性是07(二进,即背景为黑色(000),前景为白色(111),而闪烁位为正常(0),加强亮度位也是正常(0)。为改变成反相显示,必须使背景为白色(111),前景为黑色(000),所以属性字节的值应为70,即二进制01110

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档