home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / os / msdos / programm / 12340 < prev    next >
Encoding:
Internet Message Format  |  1993-01-22  |  1.9 KB

  1. Path: sparky!uunet!olivea!spool.mu.edu!agate!linus!linus.mitre.org!jcmorris
  2. From: jcmorris@mwunix.mitre.org (Joe Morris)
  3. Newsgroups: comp.os.msdos.programmer
  4. Subject: Re: interupt vector table
  5. Message-ID: <jcmorris.727716551@mwunix>
  6. Date: 22 Jan 93 15:29:11 GMT
  7. References: <1jni6oINNkjt@uniwa.uwa.edu.au>
  8. Sender: news@linus.mitre.org (News Service)
  9. Organization: The MITRE Corporation
  10. Lines: 33
  11. Nntp-Posting-Host: mwunix.mitre.org
  12.  
  13. rmascaro@uniwa.uwa.edu.au (Robert Mascaro) writes:
  14.  
  15. >I have a strong interest in writing software interupt handlers. I know
  16. >that dos keeps a table of 1024 bytes from 0:0 which point to the address
  17. >to jump to from servicing the interupt. My question is, I have tryed to
  18. >follow the path (using debug) of interupt 1C (second clock timer), which
  19. >by my calculations should be located at hex 0:70 (4 bytes per address *
  20. >int number). This should contain the offset address of the handler which
  21. >should point to an IRET. It seems to point to nothing. What am I doing
  22. >wrong?? could someone step me through the process in DEBUG.
  23.  
  24. 1. Display the interrupt vectors using DEBUG.  If you display the block
  25.    starting at 0:0 the 1C vector will be at the left of the bottom line.
  26.    On my NEC system the data reads:
  27.  
  28.    0000:0070  53FF 00F0 xxxx xxxx - xxxx xxxx xxxx xxxx
  29.       Offset--**** ****--Segment
  30.  
  31. 2. Note the segment and offset values.  Both are stored inverted, so the
  32.    bytes are exchanged, and represent the location F000:FF53.
  33.  
  34. 3. Display this location (well, I mean "display the location which 
  35.    is pointed to by 00:70 in *your* system").  If no programs have
  36.    linked to the vector, it should be an IRET (0xCF) instruction.
  37.  
  38. (BTW: Ralf Brown's interrupt list notes that the INT 1C timer tick
  39. exit is *not* available on NEC 9800-series PC's.)
  40.  
  41. Maybe the question should go to alt.folklore.computers, but can anyone
  42. explain just why so many CPU chips insist on byte inversion when storing
  43. data?
  44.  
  45. Joe Morris / MITRE
  46.