Petros17
Petros17

Reputation: 40

How to mask keyboard interrupt using IMR in 8086?

I would like to disable keyboard interrupts, by masking it in the IMR.

I'm not really sure how to access it, and change it?

As I realize, it's on the IRQ1 line, so the bit 1 should be 0.

Upvotes: 1

Views: 613

Answers (1)

Maximilian Schier
Maximilian Schier

Reputation: 1689

No, if you want to mask an IRQ line you have to set the bit. Writing a Zero would unmask it and enable it.

I am guessing since this is in the 8086 section you want to control an 8259-compatible basic PIC, and not an APIC.

Assuming the PIC is correctly configured, you can directly read/write the IMR from its data port. For the first PIC this would be 0x21.

So all you need to do is read the current IMR of PIC-1, change bit-1 and write it again.

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

Upvotes: 2

Related Questions