📄 interrupa.txt
字号:
Interrupt List Release 61 Last change 16jul00
Copyright (c) 1989-1999,2000 Ralf Brown
--------!---FILELIST-------------------------
Please redistribute the following files unmodified as a group, in a quartet of
archives named INTER61A through INTER61D (preferably the original authenticated
PKZIP archives):
INTERRUP.1ST the read-me file, containing credits, availability info
INTERRUP.A INT 00 through INT 10/BE \
INTERRUP.B INT 10/BF through INT 15/0F\
INTERRUP.C INT 15/10 through INT 15/E7 \
INTERRUP.D INT 15/E8 through INT 1A/B0 \
INTERRUP.E INT 1A/B1 through INT 1F \ total 2520 pages at
INTERRUP.F INT 20 through INT 21/43 \ 60 lines per page,
INTERRUP.G INT 21/44 through INT 21/5E \ 2684 with INTPRINT -p
INTERRUP.H INT 21/5F through INT 21/E2 >(8754 entries)
INTERRUP.I INT 21/E3 through INT 21/F1 / (4135 tables)
INTERRUP.J INT 21/F2 through INT 25 /
INTERRUP.K INT 26 through INT 2F/15 /
INTERRUP.L INT 2F/16 through INT 2F/79 /
INTERRUP.M INT 2F/7A through INT 2F/D9 /
INTERRUP.N INT 2F/DA through INT 50 /
INTERRUP.O INT 51 through INT 61 /
INTERRUP.P INT 62 through INT 6A /
INTERRUP.Q INT 6B through INT 91 /
INTERRUP.R INT 92 through INT FF /
INTERRUP.PRI a brief introduction to interrupts
INTPRINT.COM a simple formatter that also generates a list summary
INTPRINT.DOC instructions for INTPRINT
OVERVIEW.LST brief listing of major uses of each interrupt
86BUGS.LST a listing of CPU bugs and undocumented features
BIBLIO.LST bibliography of information sources for the list
CMOS.LST a description of the CMOS RAM data bytes
FARCALL.LST APIs available through FAR CALLs
GLOSSARY.LST a glossary of terms, abbreviations, and acronyms
MEMORY.LST format of the BIOS data area
OPCODES.LST a listing of recent and undocumented CPU instructions
PORTS.A a listing of I/O ports 0000h-013Fh
PORTS.B a listing of I/O ports 0140h-0AD5h
PORTS.C a listing of I/O ports 0AD6h-FFFFh
CATEGORY.KEY descriptions of divider-line category letters
COMBINE.COM combine the pieces of the list into a single file
COMBINE.DOC documentation for COMBINE
The following files should be distributed in an archive called INTER61E:
86BUGSnn.ZIP programs to test for CPU bugs
COMBINE.ASM source code for COMBINE.COM
INT.* invoke interrupts from commandline
INTHLP??.ZIP Interrupt Helper viewer for the interrupt list
INTLIST.E Epsilon extension for handling list
INTPRINT.C source code for INTPRINT
INTSUM??.ZIP interrupt list browser (Interrupt Summary)
IVIEW*.ZIP another interrupt list browser
Finally, the following should be distributed in an archive called INTER61F:
INT2RTF.ZIP Slava Gostrenko's Windows Help converter
INT2WHLP.ZIP convert list into Windows Help database
INTERRUP.ICO icon for interrupt list
HINTSRCH.ZIP WinHelp DLL for full-text searches of interrupt list
IL2ME???.ZIP convert list into Multi-Edit help database
INT2GUID.* convert list into TurboPower GUIDE or POPHELP database
INT2HLP.ZIP convert list into QuickHelp database
INT2IPF.ZIP convert list into OS/2 .IPF database
INT2QH.* program to convert list into QuickHelp database
INT2TPH.ZIP convert to Turbo/Borland Pascal help file (.TPH)
INTHELP.* convert list into TurboPower GUIDE database
RB2NG???.ZIP convert list into Norton Guides database
WH_ED*.ZIP WinHelp-file editor
--------!---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@pobox.com (currently forwards to ralf@telerama.lm.com)
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)
I reply to all e-mail submissions, 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 (many mailers are
improperly configured and do not produce a valid From: address).
--------!---Note-----------------------------
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.
Register pairs (such as AX:BX) indicate that the item is split across the
registers, with the high-order half in the first register.
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/disk 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, x - non-volatile config storage
y - security, * - reserved (and not otherwise classified)
--------C-00---------------------------------
INT 00 C - 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,OPCODE "AAD"
--------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 C - 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"CPU"
--------C-01---------------------------------
INT 01 C - 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"CPU"
--------H-02---------------------------------
INT 02 C - 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
--------m-02----SI0714-----------------------
INT 02 U - STB RAPIDMAP.SYS - ???
SI = 0714h
ES:DI -> ???
Return: ???
SeeAlso: INT 67/AX=6100h"STB",PORT 00E1h"STB"
--------C-03---------------------------------
INT 03 C - 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
called by Novell DOS 7 EMM386 after displaying an exception error
message (GPF, illegal opcodes, etc.) and before waiting for user
input
called by QEMM-386 if the user presses 'I' (undocumented) when prompted
after an exception error message
SeeAlso: INT 01"CPU"
--------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-03---------------------------------
INT 03 U - Watcom WVIDEO, Watcom WD - OUTPUT DEBUGGING MESSAGE
STACK: DWORD selector
DWORD offset of ASCIZ message to display
Notes: the INT 03h instruction which invokes the debugger must be followed by
a JMP SHORT and the signature string "WVIDEO"
to check whether this interface is available, define a public byte
variable named ___WD_Present, which the debugger will set to 01h
before running the program
SeeAlso: AX=0910h
--------U-03---------------------------------
INT 03 - DTown Utilities - POP UP
Program: DTown Software Development's DTown Utilities contains various tools
which are useful to programmers, such as a memory viewer and
disassembler
Note: DTU pops up on INT 03 (if not hooked by a debugger) to allow the
user to inspect memory or code when the machine crashes; various
memory managers will invoke INT 03 when displaying a CPU exception
error message (either automatically or when the user presses a
particular key)
SeeAlso: INT 2D/AL=20h"DTown"
--------G-030000-----------------------------
INT 03 - Soft-ICE - BACK DOOR COMMANDS - GET Soft-ICE VERSION
AX = 0000h
SI = magic value 4647h ('FG')
DI = magic value 4A4Dh ('JM')
Return: SI = BCD version (0280h = v2.80)
SeeAlso: INT 03/AX=0910h
--------G-0301-------------------------------
INT 03 - Soft-ICE - BACK DOOR COMMANDS - ???
AH = 01h
SI = magic value 4647h ('FG')
DI = magic value 4A4Dh ('JM')
Return: ???
SeeAlso: AX=0000h,AX=090Bh,INT 03/AH=10h
--------G-030900-----------------------------
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -