Inv*_*Zim 6 x86 assembly interrupt
这是代码:
push ax
in al, 0x61
or al, 0x80 ; 10000000b
out 0x61, al
and al, 0x7F ; 01111111b
out 0x61, al
mov al, 0x20
out 0x20, al
pop ax
Run Code Online (Sandbox Code Playgroud)
它有什么作用?我只知道它连接到定时器中断。0x61发生了什么0x20?
in al, 0x60附近可能有一条说明。
端口 0x60 和 0x61 与 PC 中的键盘控制器通信。端口 0x60 包含按下的按键,0x61 包含状态位。
切换状态端口的高位表示您已获得密钥并需要下一个。
端口 0x20 是中断控制器,您可以在其中确认已处理中断。