Question

as you know when interrupt happened ,8086 get code type of interrupt and multiple it in 4,then Check it in IVT.

know I wanna change IVT in 8086,I'm using emu8086.

What should I do for it?

Was it helpful?

Solution

You probably already know this: IVT is in address: 0000:0000 As you say, offset of each vector is calculated by multilying interrupt number by 4. If you want to change a value of single vector, then:

  1. disable interrupts (cli)
  2. Store old value of the vector if needed.
  3. write offset and segment of your interrupt handler to the vector.
  4. enable interrupts (sti)
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top