如何在 8086 中使用 IMR 屏蔽键盘中断?

How to mask keyboard interrupt using IMR in 8086?

我想通过在 IMR 中屏蔽它来禁用键盘中断。

我不太确定如何访问和更改它?

据我所知,它在 IRQ1 线上,因此位 1 应该为 0。

不,如果您想屏蔽 IRQ 线,您必须设置该位。写一个零将取消屏蔽并启用它。

我猜是因为这是在 8086 部分中,所以您想控制与 8259 兼容的基本 PIC,而不是 APIC。

假设 PIC 配置正确,您可以直接从其数据端口 read/write IMR。对于第一个 PIC,这将是 0x21。

所以你需要做的就是读取PIC-1的当前IMR,改变bit-1并重新写入。

in al,0x21
or al,0x02
out 0x21,al