home *** CD-ROM | disk | FTP | other *** search
File List | 1994-07-14 | 13.4 KB | 310 lines |
- Interrupt List Release 41 Last change 6/5/94
- This compilation is Copyright (c) 1989,1990,1991,1992,1993,1994 Ralf Brown
- --------!---FILELIST-------------------------
-
- Note: This is a truncated file used only for test purposes.
-
- Please redistribute the following files unmodified as a group, in a trio of
- archives named INTER41A through INTER41C (preferably the original authenticated
- PKZIP archives):
- INTERRUP.1ST the read-me file, containing credits, availability info
- INTERRUP.A INT 00 through INT 13 \
- INTERRUP.B INT 14 through INT 15/7F \
- ...
- --------!---CONTACT_INFO---------------------
- If you notice any mistakes or omissions, please let me know! It is only with
- YOUR help that the list can continue to grow at the current rate. Please send
- all changes to me rather than distributing a modified version of the list.
-
- Please read the file INTERRUP.1ST before asking me any questions. You may find
- that they have already been addressed.
-
- Ralf Brown
-
- Internet: ralf@telerama.lm.com
- UUCP: {uunet,harvard}!telerama.lm.com!ralf
- FIDO: Ralf Brown 1:129/26.1
- or post a message to me in the DR_DEBUG echo (I probably won't see it
- unless you address it to me)
- CIS: >INTERNET:ralf@telerama.lm.com
-
- I reply to all e-mail submissions and inquiries, but some of my replies bounce
- because of bad return paths. If you don't get a response from me within a
- reasonable period of time, send it again with a better return path (starting at
- harvard or ucbvax for UUCP, from the Internet for others).
- --------!------------------------------------
- See INTERRUP.1ST for the key to system abbreviations and a list of the
- trademarks mentioned here.
- --------!---DISCLAIMER-----------------------
- DISCLAIMER: THIS MATERIAL IS PROVIDED "AS IS". I verify the information
- contained in this list to the best of my ability, but I cannot be held
- responsible for any problems caused by use or misuse of the information,
- especially for those functions not officially documented. If it is marked
- "internal" or undocumented, you should check it carefully to make sure it
- works the same way in your version of the software (and please let me know
- whether or not it works the same way). Information marked with "???" is
- known to be incomplete or guesswork.
- --------!---FLAGS----------------------------
- The use of -> instead of = signifies that the indicated register or register
- pair contains a pointer to the specified item, rather than the item itself.
- One or more letters may follow the interrupt number; they have the following
- meanings: U - undocumented function, u - partially documented function,
- P - available only in protected mode, R - available only in real or V86 mode,
- C - callout or callback (usually hooked rather than called),
- O - obsolete (no longer present in current versions)
- --------!---CATEGORIES-----------------------
- The ninth column of the divider line preceding an entry usually contains a
- classification code (the entry has not been classified if that character is
- a dash). The codes currently in use are:
- A - applications, a - access software (screen readers, etc),
- B - BIOS, b - vendor-specific BIOS extensions,
- C - CPU-generated, c - caches/spoolers,
- D - DOS kernel, d - disk I/O enhancements,
- E - DOS extenders, e - electronic mail, F - FAX,
- f - file manipulation, G - debuggers/debugging tools, g - games,
- H - hardware, h - vendor-specific hardware,
- I - IBM workstation/terminal emulators, i - system info/monitoring
- J - Japanese, j - joke programs,
- K - keyboard enhancers, k - file compression,
- l - shells/command interpreters,
- M - mouse/pointing device, m - memory management,
- N - network, n - non-traditional input devices,
- O - other operating systems,
- P - printer enhancements, p - power management,
- Q - DESQview/TopView and Quarterdeck programs,
- R - remote control/file access, r - runtime support,
- S - serial I/O, s - sound/speech,
- T - DOS-based task switchers/multitaskers, t - TSR libraries
- U - resident utilities, u - emulators,
- V - video, v - virus/antivirus,
- W - MS Windows, X - expansion bus BIOSes,
- y - security, * - reserved (and not otherwise classified)
- --------C-00---------------------------------
- INT 00 - CPU-generated - DIVIDE ERROR
- Desc: generated if the divisor of a DIV or IDIV instruction is zero or the
- quotient overflows the result register; DX and AX will be unchanged.
- Notes: on an 8086/8088, the return address points to the following instruction
- on an 80286+, the return address points to the divide instruction
- an 8086/8088 will generate this interrupt if the result of a division
- is 80h (byte) or 8000h (word)
- SeeAlso: INT 04
- --------G-00---------------------------------
- INT 00 - Zenith - ROM DEBUGGER
- Desc: invokes the ROM Debugger when at the BIOS level; equivalent to
- pressing Ctrl-Alt-Ins on booting.
- Note: since DOS revectors INT 00, it is necessary to restore this vector to
- its original ROM BIOS value in order to invoke the debugger once DOS
- loads
- SeeAlso: INT 03"Columbia"
- --------C-01---------------------------------
- INT 01 - CPU-generated - SINGLE STEP
- Desc: generated after each instruction if TF (trap flag) is set; TF is
- cleared on invoking the single-step interrupt handler
- Notes: interrupts are prioritized such that external interrupts are invoked
- after the INT 01 pushes CS:IP/FLAGS and clears TF, but before the
- first instruction of the handler executes
- used by debuggers for single-instruction execution tracing, such as
- MS-DOS DEBUG's T command
- SeeAlso: INT 03
- --------C-01---------------------------------
- INT 01 - CPU-generated (80386+) - DEBUGGING EXCEPTIONS
- Desc: generated by the CPU on various occurrences which may be of interest
- to a debugger program
- Note: events which may trigger the interrupt:
- Instruction address breakpoint fault - will return to execute inst
- Data address breakpoint trap - will return to following instruction
- General detect fault, debug registers in use
- Task-switch breakpoint trap
- undocumented 386/486 opcode F1h - will return to following instruc
- SeeAlso: INT 03
- --------H-02---------------------------------
- INT 02 - external hardware - NON-MASKABLE INTERRUPT
- Desc: generated by the CPU when the input to the NMI pin is asserted
- Notes: return address points to start of interrupted instruction on 80286+
- on the 80286+, further NMIs are disabled until the next IRET
- instruction, but one additional NMI is remembered by the hardware
- and will be serviced after the IRET instruction reenables NMIs
- maskable interrupts may interrupt the NMI handler if interrupts are
- enabled
- although the Intel documentation states that this interrupt is
- typically used for power-failure procedures, it has many other uses
- on IBM-compatible machines:
- Memory parity error: all except Jr, CONV, and some machines
- without memory parity
- Breakout switch on hardware debuggers
- Coprocessor interrupt: all except Jr and CONV
- Keyboard interrupt: Jr, CONV
- I/O channel check: CONV, PS50+
- Disk-controller power-on request: CONV
- System suspend: CONV
- Real-time clock: CONV
- System watch-dog timer, time-out interrupt: PS50+
- DMA timer time-out interrupt: PS50+
- Low battery: HP 95LX
- Module pulled: HP 95LX
- --------C-03---------------------------------
- INT 03 - CPU-generated - BREAKPOINT
- Desc: generated by the one-byte breakpoint instruction (opcode CCh)
- Notes: used by debuggers to implement breakpoints, such as MS-DOS DEBUG's G
- command
- also used by Turbo Pascal versions 1,2,3 when {$U+} specified
- return address points to byte following the breakpoint instruction
- SeeAlso: INT 01
- --------G-03---------------------------------
- INT 03 - Columbia PCs (desktop,VP portables) - ROM DEBUGGER
- Desc: invokes the ROM Debugger if INT 03 has not been revectored; equivalent
- to pressing Esc on booting.
- SeeAlso: INT 00"Zenith",INT 03"Realia"
- --------G-03---------------------------------
- INT 03 - Realia COBOL - DEBUGGER SUPPORT
- Note: Realia COBOL checks for a signature eight bytes prior to the interrupt
- handler when it starts up
- BUG: if the offset of the INT 03 vector is less than 8, the compiler and
- all executables generated by it will crash the system
- SeeAlso: INT 03"Columbia"
- --------G-030910-----------------------------
- INT 03 - Soft-ICE - BACK DOOR COMMANDS - DISPLAY STRING IN Soft-ICE WINDOW
- AX = 0910h
- SI = magic value 4647h ('FG')
- DI = magic value 4A4Dh ('JM')
- DS:DX -> ASCIZ string to display (max 100 bytes, 0Dh OK)
- Program: Soft-ICE is a debugger by Nu-Mega Technologies, Inc.
- --------G-030911-----------------------------
- INT 03 - Soft-ICE - BACK DOOR COMMANDS - EXECUTE Soft-ICE COMMAND
- AX = 0911h
- SI = magic value 4647h ('FG')
- DI = magic value 4A4Dh ('JM')
- DS:DX -> ASCIZ command string (max 100 bytes, 0Dh OK)
- --------G-030912-----------------------------
- INT 03 - Soft-ICE - BACK DOOR COMMANDS - GET BREAKPOINT INFORMATION
- AX = 0912h
- SI = magic value 4647h ('FG')
- DI = magic value 4A4Dh ('JM')
- Return: BH = entry number of last breakpoint set
- BL = type of last breakpoint set (see #0001)
- DH = entry number of last breakpoint to be triggered
- DL = type of last triggered breakpoint (see #0001)
- Program: Soft-ICE is a debugger by Nu-Mega Technologies, Inc.
- SeeAlso: AX=0913h,AX=0914h
-
- (Table 0001)
- Values for Soft-ICE breakpoint type:
- 00h BPM (breakpoint register types)
- 01h I/O
- 02h INTerrupt
- 03h BPX (INT 03h-style breakpoint)
- 04h reserved
- 05h range
- --------G-030913-----------------------------
- INT 03 - Soft-ICE v2.5x - BACK DOOR COMMANDS - SET Soft-ICE BREAKPOINT
- AX = 0913h
- SI = magic value 4647h ('FG')
- DI = magic value 4A4Dh ('JM')
- DS:DX -> breakpoint structure (see #0002)
- Return: AX = status
- 00h successful
- BX = breakpoint number
- 03h breakpoint table full
- 06h memory limit error
- 07h I/O limit error
- 09h range limit error
- 16h duplicate breakpoint
- SeeAlso: AX=0912h,AX=0914h
-
- Format of Soft-ICE breakpoint structure:
- Offset Size Description (Table 0002)
- 00h BYTE breakpoint type (see #0003)
- 01h DWORD breakpoint address 1
- (lower range limit for memory BPs,
- interrupt number for interrupt BPs,
- address of BP for execution BPs,
- I/O address (only word) for I/O BPs)
- 05h DWORD breakpoint address 2
- (upper range limit for memory BPs,
- optional value to check for for interrupt BPs,
- overlay number (0 = root) for execution BPs)
- 09h DWORD breakpoint address 3
- 0Dh BYTE breakpoint mode 1 (see #0004)
- (for interrupt BPs = register to check
- 00h no value checking
- 01h check AL
- 02h check AH
- 03h check AX)
- 0Eh BYTE breakpoint mode 2 (see #0004)
- 0Fh BYTE breakpoint size (00h byte, 01h word, 03h dword)
- 10h BYTE breakpoint pass count before program stop
- 11h BYTE breakpoint state
- Note: all unused fields should contain zeros
-
- (Table 0003)
- Values for Soft-ICE breakpoint type:
- 00h memory location
- 01h memory range
- 03h I/O
- 04h interrupt
- 05h execution break
-
- (Table 0004)
- Values for Soft-ICE breakpoint mode:
- 01h read
- 02h write
- 04h execution
- --------G-030914-----------------------------
- INT 03 - Soft-ICE v2.5x - BACK DOOR COMMANDS - REMOVE Soft-ICE BREAKPOINT
- AX = 0914h
- SI = magic value 4647h ('FG')
- DI = magic value 4A4Dh ('JM')
- BX = breakpoint number (returned by AX=0913h)
- Return: BX = ???
- Program: Soft-ICE is a debugger by Nu-Mega Technologies, Inc.
- SeeAlso: AX=0912h,AX=0913h
- --------C-04---------------------------------
- INT 04 - CPU-generated - INTO DETECTED OVERFLOW
- Desc: the INTO instruction will generate this interrupt if OF (Overflow Flag)
- is set; otherwise, INTO is effectively a NOP
- Note: may be used for convenient overflow testing (to prevent errors from
- propagating) instead of JO or a JNO/JMP combination
- SeeAlso: INT 00
- --------B-05---------------------------------
- INT 05 - PRINT SCREEN
- Desc: dump the current text screen to the first printer
- Notes: normally invoked by the INT 09 handler when PrtSc key is pressed, but
- may be invoked directly by applications
- byte at 0050h:0000h contains status used by default handler
- 00h not active
- 01h PrtSc in progress
- FFh last PrtSc encountered error
- default handler is at F000h:FF54h in IBM PC and 100%-compatible BIOSes
- SeeAlso: INT 10/AH=12h/BL=20h
- --------C-05---------------------------------
- INT 05 - CPU-generated (80186+) - BOUND RANGE EXCEEDED
- Desc: generated by BOUND instruction when the value to be tested is less than
- the indicated lower bound or greater than the indicated upper bound.
- Note: returning from this interrupt re-executes the failing BOUND instruction
- --------P-05454A-----------------------------
- INT 05 U - PSPS v2.01 - EJECT PAGE
- AX = 454Ah ('EJ')
- Program: PSPS is shareware PostScript PrintScreen utility by A.N.D.
- Technologies
- Note: sends a ^D to the current printer
- SeeAlso: AX=4E57h,AX=5053h,AX=554Eh
- --------P-054E57-----------------------------
- INT 05 U - PSPS v2.01 - SET PARAMETERS
- AX = 4E57h ('NW')
- ES:SI -> 11-byte buffer containing new settings
- Return: buffer filled
- SeeAlso: AX=454Ah,AX=5053h,INT 17/AH=63h
- --------P-055053-----------------------------
- INT 05 U - PSPS v2.01 - GET PARAMETERS
- AX = 5053h ('PS')
- ES:SI -> 11-byte buffer for settings
- Return: buffer filled
- SeeAlso: AX=4E57h,AX=554Eh,INT 17/AH=64h
- --------P-05554E-----------------------------
- INT 05 U - PSPS v2.01 - UNINSTALL
- AX = 554Eh ('UN')
- Program: PSPS is shareware PostScript PrintScreen utility by A.N.D.
- Technologies
- SeeAlso: AX=454Ah,AX=4E57h,INT 17/AH=62h
- --------!---Section--------------------------
-