第十七章  使用 BIOS 进行键盘输入和磁盘读写 

大多数有用的程序都需要处理用户的输入,键盘输入是最基本的输入。程序和数据通常需要长期存储,磁盘是最常用的存储设备。BIOS 为这两种外设的 I/O 提供了最基本的中断例程,本章主要是对其应用和相关的问题进行讨论。

(1)int 9 中断例程对键盘输入的处理

键盘输入将引发 9 号中断,BIOS 提供了 int 9 中断例程。CPU 在 9 号中断发生后。执行 int 9 中断例程,从 60h 端口读出扫描码,并将其转化为相应的 ASCII 码或状态信息。存储在内存的指定空间中。

(2)使用 int 16h 中断例程读取键盘缓冲区

BIOS 提供了int 16h 中断例程供程序员调用。int 16h 中断例程中包含的一个最重要的功能是从键盘缓冲区中读取一个键盘输入,该功能的编号为 0。

(3)字符串的输入

用户通过键盘输入的通常不仅仅是单个字符而是字符串。最基本的字符串输入程序需要具备的功能分别是:在输入的同时需要显示这个字符串、一般在输入回车符后,字符串输入结束、能够删除已经输入的字符。

(4)应用 int 13h 中断例程对磁盘进行读写

磁盘对实际访问由磁盘控制器进行,我们可以通过控制磁盘控制器来访问磁盘。只能以扇区为单位对磁盘进行读写。在读写扇区对时候,要给出面号、磁道号和扇区号。面号和磁道号从 0 开始,而扇区号从 1 开始。如果我们通过直接控制磁盘控制器来访问磁盘,则需要涉及许多硬件细节。BIOS 提供了对扇区进行读写的中断例程,这些中断例程完成了许多复杂的和硬件相关的工作。我们通过调用 BIOS 中断例程来访问磁盘。BIOS 提供的访问磁盘的中断例程为 int 13h 。