home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!olivea!spool.mu.edu!agate!linus!linus.mitre.org!jcmorris
- From: jcmorris@mwunix.mitre.org (Joe Morris)
- Newsgroups: comp.os.msdos.programmer
- Subject: Re: interupt vector table
- Message-ID: <jcmorris.727716551@mwunix>
- Date: 22 Jan 93 15:29:11 GMT
- References: <1jni6oINNkjt@uniwa.uwa.edu.au>
- Sender: news@linus.mitre.org (News Service)
- Organization: The MITRE Corporation
- Lines: 33
- Nntp-Posting-Host: mwunix.mitre.org
-
- 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
-