BIOS中断和DOS功能调用.ppt

BIOS中断和DOS功能调用.ppt

ID:48031465

大小:594.00 KB

页数:30页

时间:2020-01-13

BIOS中断和DOS功能调用.ppt_第1页
BIOS中断和DOS功能调用.ppt_第2页
BIOS中断和DOS功能调用.ppt_第3页
BIOS中断和DOS功能调用.ppt_第4页
BIOS中断和DOS功能调用.ppt_第5页
资源描述:

《BIOS中断和DOS功能调用.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、BIOS中断和DOS功能调用BIOS和DOS绝对地址从0FE000开始的8KB空间是BIOS的内存映象,包括系统加电自检,引导装入,主要I/O设备的驱动,以及接口控制等程序模块。包括全部系统中断处理程序。BIOS功能调用,提供统一的输入输出方法,程序员不必直接访问端口,不必了解硬件接口的细节。因此给编程带来极大方便。MSDOS.SYS包括一个文件管理程序和一些处理程序,在DOS下运行的程序可以调用这些处理程序。为了完成DOS功能调用,MSDOS.SYS把信息传送给IO.SYS。形成一个或多个BIOS调用。在一些情况下,既能选择DOS中断也能选择BI

2、OS中断来执行同样的功能。但BIOS中只有一些最基本的输入输出和中断程序,BIOS比DOS更靠近硬件,因此建议尽可能地使用DOS功能但在少数情况下必须使用BIOS功能,DOS中断能处理大多数的I/O,但有一些功能没有提供;如声音控制等,这就要考虑用I/O指令在端口级上编程,或使用高级语言编程。键盘I/O键盘提供了三种基本类型的键:1.字符键,如字母A到z,数字0到9,%,$,等,2.扩展功能键,如Home,End,Backsp,Arrows,Retum,Del,Ins,PgUp,PgDn以及程序功能键等。3.和其它镀组合使用的控制键,如AIt,Ct

3、rl和Shift。字符键给计算机传送一个ASCII码字符,而扩展功能键产生一个动作,如按下Home键能把光标移到文本行首,End键使光标移到屏幕文本行的末尾。使用控制键能改变其它键所产生的字符码。键盘是计算机最基本的一种输入设备,用以输入信息。下面将介绍BIOS和DOS的键盘操作。字符码与扫描码当我们在键盘上“按下”或“放开”一个键时,如果键盘中断是允许的(21H端口第1位=0),就会产生一个类型9的中断,并转入到BIOS的键盘中断处理程序。该处理程序从8255可编程序外围接口芯片的输入端口60H读取一个字节,这个字节的低7位是键的扫描码,最高位为

4、0或为1,分别表示键是“按下”状态还是“放开”状态。按下时,取得的字节称为通码,放开时,取得的字节称为断码。如按下Esc键时产生一个通码为01H,放开Esc键时产生一个断码为81H。键盘上的每个键都对应一个扫描码,从01(Esc)到83(Del),或从01H到53H,所以根据扫描码就能唯一地确定哪一个键改变了状态。表9.3是键盘上每个键对应的扫描码(十六进制)。BIOS键盘处理程序将取得的扫描码转换成相应字符码,大部分键的字符码是一个标准的ASCII码,没有相应ASCIIi码的键,如A1t和功能键(F1一F12);字符码为0,还有一些非ASCII码

5、键产生一个指定的操作,如打印屏幕内容等。转换成的字符码以及扫描码存储在ROMBIOS的数据区的键盘缓冲区KB—BUFFER中。键盘缓冲区键盘缓冲区是一个先进先出的循环队列,BUFF。HEAD和BUFF—TAIL是缓冲区的两个地址指针。当HEAD指针和TAIL指针相等时,说明缓冲区空。当CPU想要得到键盘输入时,就调用BIOS键盘例行程序,它按其接收时的次序从缓冲区取出字符和扫描码,回送给CPU。缓冲区的大小可适应最快的打字员,但如果缓冲区已满又按下了一个键,BIOS不处理这个镀,只发出“喃”的响声。我们可以用BIOS中断,也可以用DOS中断和键盘通

6、讯,下面我们分别讨论这两种键盘中断。BIOS键盘中断INT16H键盘中断提供了基本的键盘操作,16H的中断处理程序包括3个不同的功能,分别根据AH寄存器的内容来选择(见表9.4).利用INT16H调用键盘I/OROM例行程序时,先在AH中放一个功能号0,1或2,例如我们要查看按键的扫描码和ASCII码,可以调用中断类型16H的0功能,该功能把扫描码回送到AH中,把ASCII码回送到AL中,然后调用二进制转换十六进制的子程序BTHEX,把AH和AL中的内容打印出来。其指令序列为…MOVAH,03;取characterfunctlonINT16H;Ke

7、yboardROMcallMOVBX,AX;moveAXtoBXCALLBTHEX;前面我们已经提到Shift、Ctrl、A1t、NumLock、PrtScreen、Ins和ScrollLock这些键不具有ASCII码,但按动了它们能改变其它键所产生的代码,那么如何能判断这些键按动与否呢?INTl6H的AH=2的功能可以把表示这些键状态的字节——键盘状态字节(KB—FLAG)回送到AL寄存器。图9.2标出了KB—FLAG各位表示的状态信息,其中高4位指出各种键盘方式,低4位表示A1t,Ctrl,Shift键是否按动。这8个键有时又被称为变换键。DO

8、S键盘功能调用上节介绍了BIOS键盘中断(16H),它能同时回送字符码和扫描码,这在使用功能键和变换键的程序中是很重要的’

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。