引言
- 以前我们讨论的都是CPU对指令的执行。CPU在计算机系统中国,出了能够执行指令,进行运算以外,还英嘎inenggou对外部设备进行控制,接受它们的输入,向他们进行输出。
- CPU出了有运算能力,还要有I/O能力。
-
外中断信息
外中断源一共有两类:
- 可屏蔽中断
- 不可屏蔽中断
- 可屏蔽中断是CPU可以不响应的外中断。CPU是否响应可屏蔽中断,要看标志寄存器的IF位的设置。
- sti:IF=1
- cli:IF=0
不可屏蔽中断的中断过程:
PC机处理外设输入的基本方法。
- 键盘输入
- 引发9号中断
- 执行int 9中断例程
- 键盘上的每一个键相当于一个开关,键盘中有一个芯片对键盘上的每一个键的开关状态进行扫描。
- 按下一个键,芯片产生一个扫描码,扫描码说明按键的位置。扫描码送入相关接口芯片的寄存器中,该寄存器的端口地址为60H。
- 松开按键,也会产生一个扫描码。松开屎产生的扫描码也被送入60H端口中。
- 按下称通码,松开成为断码。
- 通码第七位为0,断码第七位为1:断码=通码+80H
- BIOS提供了int 9中断过程,用来进行基本你的键盘输入处理。
- 读60H端口中的扫描码
- 将扫描码装换成字符码(ASCII)送入内存中的BIOS键盘缓冲区
一次显示“a”~“z” ``` code segment start:
mov ax,0b800h
mov es,ax
mov ah,'a'
xor si,si
s: mov es:[16012+402+si],ah
inc ah
add si,2
cmp ah,'z'
jna s
mov ax,4c00h
int 21h
code ends
end start
```