下载此文档

BIOS中断和DOS功能调用.ppt


文档分类:IT计算机 | 页数:约30页 举报非法文档有奖
1/30
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/30 下载此文档
文档列表 文档介绍
BIOS中断和DOS功能调用
BIOS和DOS
绝对地址从0FE000开始的8KB空间是BIOS的内存映象,包括系统加电自检,引导装入,主要I/O设备的驱动,以及接口控制等程序模块。包括全部系统中断处理程序。BIOS功能调用,提供统一的输入输出方法,程序员不必直接访问端口,不必了解硬件接口的细节。因此给编程带来极大方便。
,在DOS下运行的程序可以调用这些处理程序。为了完成DOS功能调用,。形成一个或多个BIOS调用。在一些情况下,既能选择DOS中断也能选择BIOS中断来执行同样的功能。但BIOS中只有一些最基本的输入输出和中断程序,
BIOS比DOS更靠近硬件,因此建议尽可能地使用DOS功能但在少数情况下必须使用BIOS功能, DOS中断能处理大多数的I/O,但有一些功能没有提供;如声音控制等,这就要考虑用I/O指令在端口级上编程,或使用高级语言编程。
键盘I/O
键盘提供了三种基本类型的键:
,如字母A到z,数字 0 到 9,%,$,等,
,如 Home,End,Backsp,Arrows,Retum,Del,Ins,PgUp,PgDn 以及程序功能键等。
3. 和其它镀组合使用的控制键,如 AIt,Ctrl 和 Shift。
字符键给计算机传送一个ASCII码字符,而扩展功能键产生一个动作,如按下Home 键能把光标移到文本行首,End 键使光标移到屏幕文本行的末尾。使用控制键能改变其它键所产生的字符码。键盘是计算机最基本的一种输入设备,用以输入信息。下面将介绍BIOS 和 DOS 的键盘操作。
字符码与扫描码
当我们在键盘上“按下”或“放开”一个键时,如果键盘中断是允许的( 21H端口第1位= 0),就会产生一个类型9的中断,并转入到 BIOS 的键盘中断处理程序。该处理程序从 8255 可编程序外围接口芯片的输入端口 60H 读取一个字节,这个字节的低 7 位是键的扫描码,最高位为0或为1,分别表示键是“按下”状态还是“放开”状态。按下时,取得的字节称为通码,放开时,取得的字节称为断码。如按下Esc 键时产生一个通码为 01H,放开Esc 键时产生一个断码为 81H。键盘上的每个键都对应一个扫描码,从01 (Esc) 到 83 (Del),或从 01H 到 53H,所以根据扫描码就能唯一地确定哪一个键改变了状态。表 (十六进制)。 BIOS 键盘处理程序将取得的扫描码转换成相应字符码,大部分键的字符码是一个标准的ASCII码,没有相应 ASCIIi码的键,如A1t和功能键(F1一F12);字符码为0,还有一些非 ASCII码键产生一个指定的操作,如打印屏幕内容等。转换成的字符码以及扫描码存储在 ROM BIOS的数据区的键盘缓冲区KB—BUFFER中。
键盘缓冲区
键盘缓冲区是一个先进先出的循环队列,BUFF。HEAD和 BUFF—TAIL是缓冲区的两个地址指针。当 HEAD 指针和 TAIL 指针相等时,说明缓冲区空。当 CPU 想要得到键盘输入时,就调用BIOS键盘例行程序,它按其接收时的次序从缓冲区取出字符和扫描码,回送给CPU。缓冲区的大小可适应最快的打字员,但如果缓冲区已满又按下了一个键,BIOS 不处理这个镀,只发出“喃”的响声。我们可以用BIOS中断,也可以用DOS中断和键盘通讯,下面我们分别讨论这两种键盘中断。
BIOS键盘中断
INT 16H 键盘中断提供了基本的键盘操作,16H 的中断处理程序包括3个不同的功能,分别根据AH寄存器的内容来选择(). 利用INT 16H调用键盘I/O ROM 例行程序时,先在AH中放一个功能号0,1或2,例如我们要查看按键的扫描码和 ASCII 码,可以调用中断类型16H的 0功能,该功能把扫描码回送到 AH中,把ASCII码回送到AL中,然后调用二进制转换十六进制的子程序BTHEX,把AH和AL中的内容打印出来。其指令序列为…
MOV AH,03 ;取 character functlon
INT 16H ;Keyboard ROM call
MOV BX,AX ;move AX to BX
CALL BTHEX ;
前面我们已经提到 Shift、Ctrl、A1t、Num Lock、PrtScreen、Ins和ScrollLock 这些键不具有ASCII码,但按动了它们能改变其它键所产生的代码,那么如何能判断这些键按动与否呢? INT l6H的AH=2的功能可以把表示这些键状态的字节——键盘状态字节(KB—FLAG)回送到AL寄存器。图 标出了KB—FLAG各位表

BIOS中断和DOS功能调用 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数30
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mh900965
  • 文件大小594 KB
  • 时间2018-01-14