使用键盘驱动程序重新启动计算机如何工作?

How does rebooting a computer with a keyboard driver work?

我刚从这个波兰语教程学习内核编程 - https://pl.wikibooks.org/wiki/Pisanie_OS 它在那里说键盘驱动程序有很多用途,包括重新启动计算机。这是一个代码:

reset: 
     call kbd 
     mov al,0xfe 
     out 0x64,al 

kbd0:   
     jmp short $+2 
     in al,60h 
kbd:    jmp short $+2 
     in al,64h 
     test al,1 
     jnz kbd0 
     test al,2 
     jnz kbd 
     ret

我不明白这段代码。有人可以给我解释一下吗?

8086 处理器有一个复位引脚。置位时,这会将处理器重置为其初始状态。该引脚连接到键盘控制器;如果您要求键盘控制器向上拉复位引脚然后向下拉(这是您发布的代码所做的),处理器将被复位。

现代 x86 处理器的工作方式与此略有不同,键盘控制器不再是一个单独的芯片。但是同样的方法还是导致南桥产生复位信号,重启电脑。