- 1、本文档共84页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章 节 文件操作与终端控制1 汇编语言程序设计 .ppt
3.2号子功能──读控制键状态 直接从BIOS数据区中复制出键盘状态字节的值,放到AL中作为出口参数。 4.10H号子功能──读键并清除键盘缓冲区 读键的情况与0号子功能完全相同,10H号子功能在读完键后还会清除键盘缓冲区中剩余的所有按键数据。通常一个好的应用程序在要求操作员按键前,应该先用这个子功能清除掉键盘缓冲区,避免一些非正常按键的干扰。 9.2.3 DOS的输入子功能 DOS提供的输入子功能除了前面已经熟悉并经常使用的1号和10号(0AH号)子功能外,还提供了7号、8号、0BH号和0CH号子功能,在此仅介绍没有讲述过的4个子功能。 1.7号子功能──无回显输入 这是直接调用前面所说的16H号中断的0号子功能。 2.8号子功能──无回显输入 这个子功能与7号非常接近,只是对按键增加了Ctrl+Break的处理。 3.0BH号子功能──判断按键状态 这个子功能用于判断键盘缓冲区是否为空,出口参数是: 当键盘缓冲区不空时,AL=0FFH; 当键盘缓冲区为空时,AL≠0FFH。 4.0CH号子功能──清除键盘缓冲区后再读键入口参数: AH=0CH; AL=清除缓冲区后再执行的功能号,可以是1、7、8。 ? 出口参数: 按AL中的功能号,与DOS的3个子功能出口参数对应相同。 这个子功能会先把键盘缓冲区清空,然后再根据AL中的值,执行DOS的1号、7 号或8号子功能。 9.2.4 封锁键盘的方法 封锁键盘就是让键盘不能工作,使系统不能接收从键盘输入的数据。封锁键盘主要是为了使程序在执行的某一个阶段,不受来自键盘中断的干扰。由于键盘是以中断方式向主机输入数据的,并且键盘中断是可屏蔽外中断,如果能够屏蔽掉这样的中断,就可以达到封锁键盘的目的。屏蔽键盘中断有两种方法:一是把标志寄存器中的IF标志位清0,二是利用系统的中断控制器。 第8章已经说明,标志寄存器的IF标志位专门用于控制可屏蔽外中断,当IF为1 时,8088可以接受来自INTR外引脚上的中断申请,而IF为0时不能。键盘的9号中断请求信号就是通过中断控制器送到INTR引脚的,所以,当IF被CLI指令清0从而屏蔽掉所有可屏蔽外中断(8号到0FH号,70H号到77H号)时,其中包含的9号键盘中断也被屏蔽。 如果因为需要封锁键盘而屏蔽掉所有可屏蔽外中断,就会导致系统中各个以中断方式工作的外设都被封锁,可能导致系统中的其它程序不能正常工作。利用中断控制器封锁键盘就不会有这种麻烦。中断控制器是8088系统中用于管理可屏蔽外中断的部件,它占据了20H号和21H号两个端口。中断控制器是8088系统的一种外设,按直接方式与CPU进行数据交换,负责管理8号到0FH号中断。当系统启动后,21H号端口对应中断控制器中的中断屏蔽寄存器,可读可写,最低位对应8号中断,最高位对应0FH号中断,某一位置1表示对应的中断被屏蔽,为0则没有屏蔽。从21H号端口读出1字节数据,可以判断出各外设的屏蔽情况。对于单独封锁键盘的需求,可以向该端口写入1字节数据,该字节的次低位为1。下面是用于封锁键盘的程序段: IN AL, 21H OR AL, OUT 21H, AL 当这几条指令执行后,系统将不再响应键盘中断,包括Ctrl Break和热启动操作。通常,在封锁键盘一段时间之后又需要把消除封锁,解除封锁的操作可以用下面的3条指令实现: IN AL, 21H AND AL, OUT 21H, AL 9.3 字符方式下的屏幕控制技术 计算机的绝大部分输出都是送到屏幕上。由屏幕与键盘构成的终端是人机交互的基本手段。键盘控制技术可以使程序在正确的时机,以正确的方式接收操作员送入的数据。问题的另一方面是,操作员如何知道应该在什么时候输入什么样的数据呢?这就需要程序能够在适当的时候,在屏幕适当的位置,以适当的形式显示出适当的信息,提示操作员如何操作。 向屏幕输出的方法很多,常用的有DOS提供的输出子功能、BIOS提供的10H号中断服务子程序,以及直写屏方式。其中的DOS子功能包括2号和9号,已经在前面章节中讲述,这里介绍更灵活地控制屏幕的方法。
您可能关注的文档
- 第8讲 原理图元器件设计 Protel DXP2004 SP2印制电路板设计 培训资料.ppt
- 第8讲 最短路问题 数学建模与 及数学实验(第3版)课件+matlab.ppt
- 第8讲:推荐文章 节 和热门文章 节 织梦网站系统 DedeCMS 教学教案.ppt
- 第8讲:文章 节 频道及栏目设置 动易网站系统 教学教案.ppt
- 第8讲:计算机网络故障诊断与 及排除 服务器故障诊断与 及排除 计算机网络故障诊断与 及排除(第2版) .ppt
- 第8讲:页面布局 中小型网站建设与相关管理 .ppt
- 第8课 在幻灯片中添加SmartArt图形 PowerPoint 2007 相关培训教程教案.ppt
- 第8课 轮廓线的编辑 coreldraw 教材.ppt
- 第8课伟大的历史转折 讲解材料.ppt
- 第8课基础建模(编辑修改器)4 3dmax教材.ppt
文档评论(0)