Mail Archives: djgpp/1994/10/13/09:40:14
[Continuing of first message]
I forgot to mention one thing: the ds register is likely to be messed up
when the ISR is called, so in your install ISR code, you should put some
code to get the ds (_go32_my_ds (),) and write this value into your ISR.
In your ISR, you should do a push ds, and pop an arbitrary value (which
will be overwitten by the installing routine.) The ISR should also save
the registers it used (EA..EDX, EDI, ESI) and restore them when it's
done. It should also return via an IRET, if you choose to modify the IDT.
You should also declare tics as volatile.
Hope that helps,
Long.
- Raw text -