键盘

用键盘,对人来说,就是敲键盘、看结果。

对于操作系统来说,等人敲键盘,等中断。

所以键盘的事情应该从键盘中断开始,从中断初始化开始。

键盘中断号为0x21,这是个小常识,查硬件手册可以得到。

/* 键盘中断初始化 */
void con_init(void)
{
    set_trap_gate(0x21, &keyboard_interrupt);
}

键盘的中断服务程序

keyboard_interrupt:
    inb $0x60, %al  //读扫描码
    call key_table()
    call

最后更新于