导读:
外部中断有2种。x86通过Int 9获取键盘输入,int 16h访问键盘缓冲区,int 13h进行磁盘读写。
外中断 |
接口芯片和端口 |
在PC的主板和接口卡上装有各种接口芯片。CPU是不直接与外设交互数据的,都是通过端口完成数据交互以及控制。
外中断 |
中断分为两种:
- 可屏蔽中断
如果IF为1则响应可屏蔽中断。IF=0则屏蔽。
sti ; IF = 1
cli ; IF = 0
- 不可屏蔽中断
不可屏蔽中断固定中断类型号:2.所以在执行过程中由4步变为3步。
键盘输入 |
键盘产生了扫描码,扫描码一般送入60H中。
在键盘按键按下的时候获得通码,在按下松开的时候获得断码。
断码 = 通码 + 0x80h
键盘会产生Int 9, 输入的数据一般存在BIOS键盘缓冲区中(15个键盘输入)。一个键盘输入采用word存放,高字节是扫描码,低字节是字符码(产生和扫描码相对应的字符码)
int 16h, 中断例程读取键盘缓冲区。
磁盘读写 |
Int 13h 中断服务函数对磁盘进行读写。