导读:
外部中断有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 中断服务函数对磁盘进行读写。
本文介绍了x86架构下的外部中断机制,包括可屏蔽中断和不可屏蔽中断的区别及应用场景。详细解析了通过Int9获取键盘输入的过程,int16h访问键盘缓冲区的方法,以及int13h进行磁盘读写的实现。
6905

被折叠的 条评论
为什么被折叠?



