🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.os.msdos.programmer
2 messages
2 total messages Started by Robert Mascaro Fri, 22 Jan 1993 01:21
interupt vector table
#7656
Author: Robert Mascaro
Date: Fri, 22 Jan 1993 01:21
10 lines
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
#7670
Author: Joe Morris
Date: Fri, 22 Jan 1993 15:29
33 lines
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