,将执行一个新的中断处理程序。
在linux 0.11内核中,键盘中断处理程序是陷阱门,即不会从Inter Pin中打断中断,
_keyboard_interrupt:
push eax
...
in al,60h // read scan code
call key_table[eax*4]
reset keyboard
...
mov al, 20h
out 20h, al // send EOI to 8259A interrupt controller
call _do_tty_interrupt
...
pop eax
iretd
当CPU在> _DO_TTY_INTERRUPT中处理>将EOI发送到8259a中断控制器之后,可能会断言另一个键盘中断。可以通过其他键盘中断打断键盘中断(嵌套)吗?
他们的键盘上有一个缓冲区,未能从缓冲区读取键将阻止键盘上任何后续的IRQ,因此无需禁用中断。
如果在_do_tty_interrupt
期间发生另一个中断,则PIC告诉CPU,一旦CPU再次将状态信息保存在堆栈上。