home *** CD-ROM | disk | FTP | other *** search
/ POINT Software Programming / PPROG1.ISO / misc / inter41 / int2whlp / i2w-test / interrup.lst < prev    next >
Encoding:
File List  |  1994-04-25  |  14.7 KB  |  329 lines

  1. Interrupt List        Release 40            Last change 4/3/94
  2. This compilation is Copyright (c) 1989,1990,1991,1992,1993,1994 Ralf Brown
  3. --------!---FILELIST-------------------------
  4. Please redistribute the following files unmodified as a group, in a trio of
  5. archives named INTER40A through INTER40C (preferably the original authenticated
  6. PKZIP archives):
  7.     INTERRUP.1ST    the read-me file, containing credits, availability info
  8.     INTERRUP.A    INT 00 through INT 13      \
  9.     INTERRUP.B    INT 14 through INT 15/7F   \
  10.     INTERRUP.C    INT 15/80 through INT 19    \  
  11.     INTERRUP.D    INT 1A through INT 21/44     \     total 1489 pages at
  12.     INTERRUP.E    INT 21/45 through INT 21/BF   \  60 lines per page,
  13.     INTERRUP.F    INT 21/C0 through INT 2C       > 1594 with INTPRINT -p
  14.     INTERRUP.G    INT 2D through INT 2F/7F      /  (6281 entries)
  15.     INTERRUP.H    INT 2F/80 through INT 2F/FF  /
  16.     INTERRUP.I    INT 30 through INT 60        /
  17.     INTERRUP.J    INT 61 through INT 69       /
  18.     INTERRUP.K    INT 6A through INT FF      /
  19.     INTERRUP.PRI    a brief introduction to interrupts
  20.     INTPRINT.COM    a simple formatter that also generates a list summary
  21.     INTPRINT.DOC    instructions for INTPRINT
  22.     86BUGS.LST    a listing of CPU bugs and undocumented features
  23.     CMOS.LST    a description of the CMOS RAM data bytes
  24.     GLOSSARY.LST    a glossary of terms, abbreviations, and acronyms
  25.     MEMORY.LST    format of the BIOS data area
  26.     PORTS.LST    a listing of I/O ports
  27.     COMBINE.BAT    combine the pieces of the list into a single file
  28. The following files should be distributed in an archive called INTER40D:
  29.     INT.COM        invoke interrupts from commandline
  30.     INT2GUID.*    convert list into TurboPower GUIDE or POPHELP database
  31.     INT2HLP.BAT    Perl script to convert list into QuickHelp database
  32.     INT2QH.*    program to convert list into QuickHelp database
  33.     INTERVUE.EXE    indexed interrupt list browser
  34.     INTHELP.*    convert list into TurboPower GUIDE database
  35.     INTLIST.E    Epsilon extension for handling list
  36.     INTLIST.ICO    Windows icon for INTERVUE
  37.     INTPRINT.C    source code for INTPRINT
  38.     RB2NG.*        convert list into Norton Guides database
  39. --------!---CONTACT_INFO---------------------
  40. If you notice any mistakes or omissions, please let me know!  It is only with
  41. YOUR help that the list can continue to grow at the current rate.  Please send
  42. all changes to me rather than distributing a modified version of the list.
  43.  
  44. Please read the file INTERRUP.1ST before asking me any questions.  You may find
  45. that they have already been addressed.
  46.  
  47.      Ralf Brown
  48.  
  49. Internet: ralf@telerama.lm.com
  50. UUCP: {uunet,harvard}!telerama.lm.com!ralf
  51. FIDO: Ralf Brown 1:129/26.1
  52.     or post a message to me in the DR_DEBUG echo (I probably won't see it
  53.     unless you address it to me)
  54. CIS:  >INTERNET:ralf@telerama.lm.com
  55.  
  56. I reply to all e-mail submissions and inquiries, but some of my replies bounce
  57. because of bad return paths.  If you don't get a response from me within a
  58. reasonable period of time, send it again with a better return path (starting at
  59. harvard or ucbvax for UUCP, from the Internet for others).
  60. --------!------------------------------------
  61. See INTERRUP.1ST for the key to system abbreviations and a list of the
  62. trademarks mentioned here.
  63. --------!---DISCLAIMER-----------------------
  64. DISCLAIMER:  THIS MATERIAL IS PROVIDED "AS IS".     I verify the information
  65. contained in this list to the best of my ability, but I cannot be held
  66. responsible for any problems caused by use or misuse of the information,
  67. especially for those functions not officially documented.  If it is marked
  68. "internal" or undocumented, you should check it carefully to make sure it
  69. works the same way in your version of the software (and please let me know
  70. whether or not it works the same way).    Information marked with "???" is
  71. known to be incomplete or guesswork.
  72. --------!---FLAGS----------------------------
  73. The use of -> instead of = signifies that the indicated register or register
  74. pair contains a pointer to the specified item, rather than the item itself.
  75. One or more letters may follow the interrupt number; they have the following
  76. meanings:  U - undocumented function, u - partially documented function,
  77. P - available only in protected mode, R - available only in real or V86 mode,
  78. C - callout or callback (usually hooked rather than called),
  79. O - obsolete (no longer present in current versions)
  80. --------!---CATEGORIES-----------------------
  81. The ninth column of the divider line preceding an entry usually contains a
  82. classification code (the entry has not been classified if that character is
  83. a dash).  The codes currently in use are:
  84.     A - applications, a - access software (screen readers, etc),
  85.     B - BIOS, b - vendor-specific BIOS extensions,
  86.     C - CPU-generated, c - caches/spoolers,
  87.     D - DOS kernel, d - disk I/O enhancements,
  88.     E - DOS extenders, e - electronic mail, F - FAX,
  89.     f - file manipulation, G - debuggers/debugging tools, g - games,
  90.     H - hardware, h - vendor-specific hardware,
  91.     I - IBM workstation/terminal emulators, i - system info/monitoring
  92.     J - Japanese, j - joke programs,
  93.     K - keyboard enhancers, k - file compression,
  94.     l - shells/command interpreters,
  95.     M - mouse/pointing device, m - memory management,
  96.     N - network, n - non-traditional input devices,
  97.     O - other operating systems,
  98.     P - printer enhancements, p - power management,
  99.     Q - DESQview/TopView and Quarterdeck programs,
  100.     R - remote control/file access, r - runtime support,
  101.     S - serial I/O, s - sound/speech,
  102.     T - DOS-based task switchers/multitaskers, t - TSR libraries
  103.     U - resident utilities, u - emulators,
  104.     V - video, v - virus/antivirus,
  105.     W - MS Windows, X - expansion bus BIOSes,
  106.     y - security, * - reserved (and not otherwise classified)
  107. --------C-00---------------------------------
  108. INT 00 - CPU-generated - DIVIDE ERROR
  109. Desc:    generated if the divisor of a DIV or IDIV instruction is zero or the
  110.       quotient overflows the result register; DX and AX will be unchanged.
  111. Notes:    on an 8086/8088, the return address points to the following instruction
  112.     on an 80286+, the return address points to the divide instruction
  113.     an 8086/8088 will generate this interrupt if the result of a division
  114.       is 80h (byte) or 8000h (word)
  115. SeeAlso: INT 04
  116. --------G-00---------------------------------
  117. INT 00 - Zenith - ROM DEBUGGER
  118. Desc:    invokes the ROM Debugger when at the BIOS level; equivalent to
  119.       pressing Ctrl-Alt-Ins on booting.
  120. Note:    since DOS revectors INT 00, it is necessary to restore this vector to
  121.       its original ROM BIOS value in order to invoke the debugger once DOS
  122.       loads
  123. SeeAlso: INT 03"Columbia"
  124. --------C-01---------------------------------
  125. INT 01 - CPU-generated - SINGLE STEP
  126. Desc:    generated after each instruction if TF (trap flag) is set; TF is
  127.       cleared on invoking the single-step interrupt handler
  128. Notes:    interrupts are prioritized such that external interrupts are invoked
  129.       after the INT 01 pushes CS:IP/FLAGS and clears TF, but before the
  130.       first instruction of the handler executes
  131.     used by debuggers for single-instruction execution tracing, such as
  132.       MS-DOS DEBUG's T command
  133. SeeAlso: INT 03
  134. --------C-01---------------------------------
  135. INT 01 - CPU-generated (80386+) - DEBUGGING EXCEPTIONS
  136. Desc:    generated by the CPU on various occurrences which may be of interest
  137.       to a debugger program
  138. Note:    events which may trigger the interrupt:
  139.       Instruction address breakpoint fault - will return to execute inst
  140.       Data address breakpoint trap - will return to following instruction
  141.       General detect fault, debug registers in use
  142.       Task-switch breakpoint trap
  143.       undocumented 386/486 opcode F1h - will return to following instruc
  144. SeeAlso: INT 03
  145. --------H-02---------------------------------
  146. INT 02 - external hardware - NON-MASKABLE INTERRUPT
  147. Desc:    generated by the CPU when the input to the NMI pin is asserted
  148. Notes:    return address points to start of interrupted instruction on 80286+
  149.     on the 80286+, further NMIs are disabled until the next IRET
  150.       instruction, but one additional NMI is remembered by the hardware
  151.       and will be serviced after the IRET instruction reenables NMIs
  152.     maskable interrupts may interrupt the NMI handler if interrupts are
  153.       enabled
  154.     although the Intel documentation states that this interrupt is
  155.       typically used for power-failure procedures, it has many other uses
  156.       on IBM-compatible machines:
  157.         Memory parity error: all except Jr, CONV, and some machines
  158.                 without memory parity
  159.         Breakout switch on hardware debuggers
  160.         Coprocessor interrupt: all except Jr and CONV
  161.         Keyboard interrupt: Jr, CONV
  162.         I/O channel check: CONV, PS50+
  163.         Disk-controller power-on request: CONV
  164.         System suspend: CONV
  165.         Real-time clock: CONV
  166.         System watch-dog timer, time-out interrupt: PS50+
  167.         DMA timer time-out interrupt: PS50+
  168.         Low battery: HP 95LX
  169.         Module pulled: HP 95LX
  170. --------C-03---------------------------------
  171. INT 03 - CPU-generated - BREAKPOINT
  172. Desc:    generated by the one-byte breakpoint instruction (opcode CCh)
  173. Notes:    used by debuggers to implement breakpoints, such as MS-DOS DEBUG's G
  174.       command
  175.     also used by Turbo Pascal versions 1,2,3 when {$U+} specified
  176.     return address points to byte following the breakpoint instruction
  177. SeeAlso: INT 01
  178. --------G-03---------------------------------
  179. INT 03 - Columbia PCs (desktop,VP portables) - ROM DEBUGGER
  180. Desc:    invokes the ROM Debugger if INT 03 has not been revectored; equivalent
  181.       to pressing Esc on booting.
  182. SeeAlso: INT 00"Zenith",INT 03"Realia"
  183. --------G-03---------------------------------
  184. INT 03 - Realia COBOL - DEBUGGER SUPPORT
  185. Note:    Realia COBOL checks for a signature eight bytes prior to the interrupt
  186.       handler when it starts up
  187. BUG:    if the offset of the INT 03 vector is less than 8, the compiler and
  188.       all executables generated by it will crash the system
  189. SeeAlso: INT 03"Columbia"
  190. --------G-030910-----------------------------
  191. INT 03 - Soft-ICE - BACK DOOR COMMANDS - DISPLAY STRING IN Soft-ICE WINDOW
  192.     AX = 0910h
  193.     SI = magic value 4647h ('FG')
  194.     DI = magic value 4A4Dh ('JM')
  195.     DS:DX -> ASCIZ string to display (max 100 bytes, 0Dh OK)
  196. Program: Soft-ICE is a debugger by Nu-Mega Technologies, Inc.
  197. --------G-030911-----------------------------
  198. INT 03 - Soft-ICE - BACK DOOR COMMANDS - EXECUTE Soft-ICE COMMAND
  199.     AX = 0911h
  200.     SI = magic value 4647h ('FG')
  201.     DI = magic value 4A4Dh ('JM')
  202.     DS:DX -> ASCIZ command string (max 100 bytes, 0Dh OK)
  203. --------G-030912-----------------------------
  204. INT 03 - Soft-ICE - BACK DOOR COMMANDS - GET BREAKPOINT INFORMATION
  205.     AX = 0912h
  206.     SI = magic value 4647h ('FG')
  207.     DI = magic value 4A4Dh ('JM')
  208. Return: BH = entry number of last breakpoint set
  209.     BL = type of last breakpoint set
  210.         00h BPM (breakpoint register types)
  211.         01h I/O
  212.         02h INTerrupt
  213.         03h BPX (INT 03h-style breakpoint)
  214.         04h reserved
  215.         05h range
  216.     DH = entry number of last breakpoint to be triggered
  217.     DL = type of last triggered breakpoint (see above)
  218. Program: Soft-ICE is a debugger by Nu-Mega Technologies, Inc.
  219. SeeAlso: AX=0913h,AX=0914h
  220. --------G-030913-----------------------------
  221. INT 03 - Soft-ICE v2.5x - BACK DOOR COMMANDS - SET Soft-ICE BREAKPOINT
  222.     AX = 0913h
  223.     SI = magic value 4647h ('FG')
  224.     DI = magic value 4A4Dh ('JM')
  225.     DS:DX -> breakpoint structure (see below)
  226. Return: AX = status
  227.         00h successful
  228.         BX = breakpoint number
  229.         03h breakpoint table full
  230.         06h memory limit error
  231.         07h I/O limit error
  232.         09h range limit error
  233.         16h duplicate breakpoint
  234. SeeAlso: AX=0912h,AX=0914h
  235.  
  236. Format of breakpoint structure:
  237. Offset    Size    Description
  238.  00h    BYTE    breakpoint type (see below)
  239.  01h    DWORD    breakpoint address 1
  240.         (lower range limit for memory BPs,
  241.         interrupt number for interrupt BPs,
  242.         address of BP for execution BPs,
  243.         I/O address (only word)    for I/O BPs)
  244.  05h    DWORD    breakpoint address 2
  245.         (upper range limit for memory BPs,
  246.         optional value to check for for interrupt BPs,
  247.         overlay number (0 = root) for execution BPs)
  248.  09h    DWORD    breakpoint address 3
  249.  0Dh    BYTE    breakpoint mode 1 (see below)
  250.         (for interrupt BPs = register to check
  251.              00h  no value checking
  252.              01h  check AL
  253.              02h  check AH
  254.              03h  check AX)
  255.  0Eh    BYTE    breakpoint mode 2 (see below)
  256.  0Fh    BYTE    breakpoint size (00h byte, 01h word, 03h dword)
  257.  10h    BYTE    breakpoint pass count before program stop
  258.  11h    BYTE    breakpoint state
  259. Note:    all unused fields should contain zeros
  260.  
  261. Values for breakpoint type:
  262.  00h    memory location
  263.  01h    memory range
  264.  03h    I/O
  265.  04h    interrupt
  266.  05h    execution break
  267.  
  268. Values for breakpoint mode:
  269.  01h    read
  270.  02h    write
  271.  04h    execution
  272. --------G-030914-----------------------------
  273. INT 03 - Soft-ICE v2.5x - BACK DOOR COMMANDS - REMOVE Soft-ICE BREAKPOINT
  274.     AX = 0914h
  275.     SI = magic value 4647h ('FG')
  276.     DI = magic value 4A4Dh ('JM')
  277.     BX = breakpoint number (returned by AX=0913h)
  278. Return: BX = ???
  279. Program: Soft-ICE is a debugger by Nu-Mega Technologies, Inc.
  280. SeeAlso: AX=0912h,AX=0913h
  281. --------C-04---------------------------------
  282. INT 04 - CPU-generated - INTO DETECTED OVERFLOW
  283. Desc:    the INTO instruction will generate this interrupt if OF (Overflow Flag)
  284.       is set; otherwise, INTO is effectively a NOP
  285. Note:    may be used for convenient overflow testing (to prevent errors from
  286.       propagating) instead of JO or a JNO/JMP combination
  287. SeeAlso: INT 00
  288. --------B-05---------------------------------
  289. INT 05 - PRINT SCREEN
  290. Desc:    dump the current text screen to the first printer
  291. Notes:    normally invoked by the INT 09 handler when PrtSc key is pressed, but
  292.       may be invoked directly by applications
  293.     byte at 0050h:0000h contains status used by default handler
  294.       00h not active
  295.       01h PrtSc in progress
  296.       FFh last PrtSc encountered error
  297.     default handler is at F000h:FF54h in IBM PC and 100%-compatible BIOSes
  298. SeeAlso: INT 10/AH=12h/BL=20h
  299. --------C-05---------------------------------
  300. INT 05 - CPU-generated (80186+) - BOUND RANGE EXCEEDED
  301. Desc:    generated by BOUND instruction when the value to be tested is less than
  302.       the indicated lower bound or greater than the indicated upper bound.
  303. Note:    returning from this interrupt re-executes the failing BOUND instruction
  304. --------P-05454A-----------------------------
  305. INT 05 U - PSPS v2.01 - EJECT PAGE
  306.     AX = 454Ah ('EJ')
  307. Program: PSPS is shareware PostScript PrintScreen utility by A.N.D.
  308.       Technologies
  309. Note:    sends a ^D to the current printer
  310. SeeAlso: AX=4E57h,AX=5053h,AX=554Eh
  311. --------P-054E57-----------------------------
  312. INT 05 U - PSPS v2.01 - SET PARAMETERS
  313.     AX = 4E57h ('NW')
  314.     ES:SI -> 11-byte buffer containing new settings
  315. Return: buffer filled
  316. SeeAlso: AX=454Ah,AX=5053h,INT 17/AH=63h
  317. --------P-055053-----------------------------
  318. INT 05 U - PSPS v2.01 - GET PARAMETERS
  319.     AX = 5053h ('PS')
  320.     ES:SI -> 11-byte buffer for settings
  321. Return: buffer filled
  322. SeeAlso: AX=4E57h,AX=554Eh,INT 17/AH=64h
  323. --------P-05554E-----------------------------
  324. INT 05 U - PSPS v2.01 - UNINSTALL
  325.     AX = 554Eh ('UN')
  326. Program: PSPS is shareware PostScript PrintScreen utility by A.N.D.
  327.       Technologies
  328. SeeAlso: AX=454Ah,AX=4E57h,INT 17/AH=62h
  329.