Thread View: comp.os.msdos.programmer
2 messages
2 total messages
Started by Robert Mascaro
Fri, 22 Jan 1993 01:21
interupt vector table
Author: Robert Mascaro
Date: Fri, 22 Jan 1993 01:21
Date: Fri, 22 Jan 1993 01:21
10 lines
978 bytes
978 bytes
I have a strong interest in writing software interupt handlers. I know that dos keeps a table of 1024 bytes from 0:0 which point to the address to jump to from servicing the interupt. My question is, I have tryed to follow the path (using debug) of interupt 1C (second clock timer), which by my calculations should be located at hex 0:70 (4 bytes per address * int number). This should contain the offset address of the handler which should point to an IRET. It seems to point to nothing. What am I doing wrong?? could someone step me through the process in DEBUG. Thankyou in advance, Rob.
Re: interupt vector table
Author: Joe Morris
Date: Fri, 22 Jan 1993 15:29
Date: Fri, 22 Jan 1993 15:29
33 lines
2002 bytes
2002 bytes
rmascaro@uniwa.uwa.edu.au (Robert Mascaro) writes:
>I have a strong interest in writing software interupt handlers. I know
>that dos keeps a table of 1024 bytes from 0:0 which point to the address
>to jump to from servicing the interupt. My question is, I have tryed to
>follow the path (using debug) of interupt 1C (second clock timer), which
>by my calculations should be located at hex 0:70 (4 bytes per address *
>int number). This should contain the offset address of the handler which
>should point to an IRET. It seems to point to nothing. What am I doing
>wrong?? could someone step me through the process in DEBUG.
1. Display the interrupt vectors using DEBUG. If you display the block
starting at 0:0 the 1C vector will be at the left of the bottom line.
On my NEC system the data reads:
0000:0070 53FF 00F0 xxxx xxxx - xxxx xxxx xxxx xxxx
Offset--**** ****--Segment
2. Note the segment and offset values. Both are stored inverted, so the
bytes are exchanged, and represent the location F000:FF53.
3. Display this location (well, I mean "display the location which
is pointed to by 00:70 in *your* system"). If no programs have
linked to the vector, it should be an IRET (0xCF) instruction.
(BTW: Ralf Brown's interrupt list notes that the INT 1C timer tick
exit is *not* available on NEC 9800-series PC's.)
Maybe the question should go to alt.folklore.computers, but can anyone
explain just why so many CPU chips insist on byte inversion when storing
data?
Joe Morris / MITRE
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads