📄 interrupa.txt
字号:
--------C-0A---------------------------------
INT 0A CP - CPU-generated (80286+) - INVALID TASK STATE SEGMENT
Desc: automatically called during a task switch if the new TSS specified by
the task gate is invalid for any of the following reasons:
TSS limit is less than 43 (80286) or 103 (80386/80486)
LDT selector invalid or segment not present
null SS selector, or SS selector outside LDT/GDT limit
stack segment is read-only
stack segment DPL differs from new CPL, or RPL <> CPL
CS selector is outside LDT/GDT limit or not code
non-conforming code segment's DPL differs from CPL
conforming code segment's DPL > CPL
DS/ES selectors outside LDT/GDT limit or not readable segments
Note: the handler must use a task gate in order to have a valid TSS under
which to execute; it must also reset the busy bit in the new TSS
SeeAlso: INT 0B"CPU"
--------H-0B---------------------------------
INT 0B C - IRQ3 - SERIAL COMMUNICATIONS (COM2)
Desc: automatically asserted by the UART when COM2 needs attention, if the
UART has been programmed to generate interrupts
Notes: the TOPS and PCnet adapters use this interrupt request line as an
alternate
on PS/2s, COM2 through COM8 share this interrupt; on many PC's, COM4
shares this interrupt
may be masked by setting bit 3 on I/O port 21h
DOS 3.3+ revectors IRQ3 to a stack-switching routine unless STACKS=0
has been set in CONFIG.SYS. MS/PC-DOS use the IBM Interrupt Sharing
Protocol (see #02568) when hooking this IRQ
SeeAlso: INT 0C"COM1",INT 53"DESQview",INT 5B"DoubleDOS",INT 7B"GO32"
--------C-0B---------------------------------
INT 0B CP - CPU-generated (80286+) - SEGMENT NOT PRESENT
Desc: generated when loading a segment register if the segment descriptor
indicates that the segment is not currently in memory, unless the
segment is an LDT (see INT 0A"CPU") or stack segment (see
INT 0C"CPU") needed by a task switch
Note: may be used to implement virtual memory by loading in segments as they
are accessed, clearing the "not present" bit after loading
SeeAlso: INT 0A"CPU",INT 0E"CPU"
--------h-0B---------------------------------
INT 0B - HP 95LX - LOW-LEVEL KEYBOARD HANDLER
Desc: this is the lowest-level keyboard handler on an HP 95LX palmtop
Note: debounces key, places the keycode in I/O register 60h, and calls INT 09
SeeAlso: INT 09,INT 0D"HP 95LX",INT 15/AX=4DD4h
--------H-0C---------------------------------
INT 0C C - IRQ4 - SERIAL COMMUNICATIONS (COM1)
Desc: automatically asserted by the UART when COM1 needs attention, if the
UART has been programmed to generate interrupts
BUG: this vector is modified but not restored by Direct Access v4.0, and
may be left dangling by other programs written with the same version
of compiled BASIC
Notes: on many PC's, COM3 shares this interrupt
may be masked by setting bit 4 on I/O port 21h
DOS 3.3+ revectors IRQ4 to a stack-switching routine unless STACKS=0
has been set in CONFIG.SYS. MS/PC-DOS use the IBM Interrupt Sharing
Protocol (see #02568) when hooking this IRQ
SeeAlso: INT 0B"COM2",INT 54"DESQview",INT 5C"DoubleDOS",INT 7C"GO32"
--------C-0C---------------------------------
INT 0C C - CPU-generated (80286+) - STACK FAULT
Desc: this interrupt is generated in protected mode on a stack overflow or
underflow, or if an inter-level transition or task switch references
a stack segment marked "not present"; it is generated in real mode
on accessing a word operand at SS:FFFFh
Note: the 80286 will shut down in real mode if SP=1 before a push. On the
PC AT and compatibles, external circuitry generates a reset on
shutdown.
SeeAlso: INT 0B"CPU",INT 0D"CPU"
--------I-0C---------------------------------
INT 0C - IBM SYSTEM 36/38 WORKSTATION EMULATION - API POINTER
Desc: the IBM System 36/38 emulator may be invoked through a private API,
whose entry point address (see #00007) is offset 100h in the segment
pointed at by this vector
(Table 00007)
Call the System 36/38 emulator API entry point with:
AH = function
03h update screen
05h select next session
AL = session number (00h-03h)
Return: AL = session type code
00h not active
01h display session
02h printer session
FEh invalid session number
DS = requested session's data segment (0 if not active)
(see #00008)
Return: ???
Format of System 36/38 emulator's data area:
Offset Size Description (Table 00008)
13Eh BYTE bit flags for status line indicators turned on since this byte
last zerod
13Fh BYTE bit flags for status line indicators turned off since this
byte last set to FFh
140h WORD offset of EBCDIC to ASCII translation
146h WORD offset of EBCDIC screen buffer
148h WORD offset of EC (engineering change) level signature
150h BYTE "KEYI"
151h BYTE 5250 key scan code to be sent to remote
15Bh BYTE "SYSAV"
15Dh BYTE 5250 cursor column
15Eh BYTE 5250 cursor row
167h BYTE "DVCTAD"
178h BYTE "FLAGS"
184h BYTE "SESSNOAD"
193h BYTE "STNAD"
198h BYTE "NSDS"
Note: offsets are from the interrupt handler's segment
--------H-0D---------------------------------
INT 0D C - IRQ5 - FIXED DISK (PC,XT), LPT2 (AT), reserved (PS/2)
Notes: under DESQview, only the INT 15h vector and BASIC segment address (the
word at 0000h:0510h) may be assumed to be valid for the handler's
process
DOS 3.3+ revectors IRQ5 to a stack-switching routine unless STACKS=0
has been set in CONFIG.SYS. MS/PC-DOS use the IBM Interrupt Sharing
Protocol (see #02568) when hooking this IRQ
the Tandy 1000, 1000A, and 1000HD use IRQ2 for the hard disk; the
1000EX, HX, RLX, RLX-HD, RLX-B, RLX-HD-B use IRQ5 instead; the
1000RL, RL-HD, SL, SL/2, TL, TL/2, and TL/3 are jumper-selectable
for either IRQ2 or IRQ5 (default IRQ5); the 1000SX and TX are
DIP-switch selectable for IRQ2 or IRQ5 (default IRQ2); the RSX and
RSX-HD use IRQ14. Tandy systems which use IRQ2 for the hard disk
interrupt use IRQ5 for vertical retrace.
may be masked by setting bit 5 on I/O port 21h
SeeAlso: INT 0E"IRQ6",INT 0F"IRQ7",INT 55"DESQview",INT 5D"DoubleDOS"
SeeAlso: INT 7D"GO32"
--------H-0D---------------------------------
INT 0D C - IRQ5 - Tandy 1000 60 Hz RAM REFRESH
Desc: used to ensure that the dynamic RAM retains its contents in earlier
1000-series models; later models use normal DMA for RAM refresh
(some early models have no DMA unless it is added via an expansion
card)
SeeAlso: INT 55
--------h-0D---------------------------------
INT 0D - HP 95LX - INFRARED INTERRUPT
Desc: this interrupt is used to perform communications over the infrared
data link
SeeAlso: INT 0B"HP 95LX",INT 0E"HP 95LX",INT 15/AX=4DD4h
--------C-0D---------------------------------
INT 0D C - CPU-generated (80286+) - GENERAL PROTECTION VIOLATION
Desc: the CPU generates this interrupt when it detects a protection violation
which does not fit under any other category having a separate
interrupt
Notes: called in real mode when
an instruction accesses a memory operand extending beyond offset
FFFFh (i.e. WORD at FFFFh or DWORD at FFFDh or higher) in segment
CS, DS, ES, FG, or GS
a PUSH MEM or POP MEM instruction contains an invalid bit encoding
in the second byte
an instruction exceeds the maximum length allowed (10 bytes for
80286, 15 bytes for 80386/80486)
an instruction wraps from offset FFFFh to offset 0000h
called in protected mode on protection violations not covered by INT 06
through INT 0C, including
segment limit violations
write to read-only segments
accesses using null DS or ES selectors
accesses to segments with privilege greater than CPL
wrong descriptor type
called on 80486 protected-mode floating-point protection fault
SeeAlso: INT 09"80486",INT 0C"STACK"
--------H-0E---------------------------------
INT 0E C - IRQ6 - DISKETTE CONTROLLER
Desc: this interrupt is generated by the floppy disk controller on
completion of an operation
Notes: default handler is at F000h:EF57h in IBM PC and 100%-compatible BIOSes
may be masked by setting bit 6 on I/O port 21h
DOS 3.3+ revectors IRQ6 to a stack-switching routine unless STACKS=0
has been set in CONFIG.SYS. MS/PC-DOS use the IBM Interrupt Sharing
Protocol (see #02568) when hooking this IRQ
SeeAlso: INT 0D"IRQ5",INT 56"DESQview",INT 5E"DoubleDOS",INT 7E"GO32"
--------C-0E---------------------------------
INT 0E C - CPU-generated (80386+ native mode) - PAGE FAULT
Desc: this interrupt is generated in protected and virtual-86 modes on
attempting to access a 4K memory page whose page table entry has
the "present" bit cleared
Notes: used to implement virtual memory--when the page fault occurs, the
operating system can load the appropriate page from disk
a protected-mode program written in the Flat memory model will often
generate this interrupt (typically reported as an Exception #14 or
Exception 0E with a register dump) when dereferencing an
uninitialized or corrupted pointer
SeeAlso: INT 0B"CPU"
--------h-0E---------------------------------
INT 0E C - HP 95LX - EXTERNAL CARD INTERRUPT
SeeAlso: INT 0D"HP 95LX",INT 0F"HP 95LX",INT 15/AX=4DD4h
--------H-0F---------------------------------
INT 0F C - IRQ7 - PARALLEL PRINTER
Desc: this interrupt is generated by the LPT1 printer adapter when the
printer becomes ready
Notes: most printer adapters do not reliably generate this interrupt
the 8259 interrupt controller generates an interrupt corresponding to
IRQ7 when an error condition occurs
SeeAlso: INT 0D"IRQ5",INT 57"DESQview",INT 5F"DoubleDOS",INT 7F"GO32"
SeeAlso: MEM 0040h:006Bh
--------h-0F---------------------------------
INT 0F C - HP 95LX - REAL-TIME CLOCK
SeeAlso: INT 0E"HP 95LX",INT 15/AX=4DD4h,INT 70"IRQ8"
--------C-10---------------------------------
INT 10 C - CPU-generated (80286+) - COPROCESSOR ERROR
Desc: this interrupt is generated by the CPU when the -ERROR pin is asserted
by the coprocessor
Note: AT's and clones usually wire the coprocessor to use IRQ13, but not all
get it right
SeeAlso: INT 09"hardware",INT 75
--------V-10---------------------------------
INT 10h - LIRVGA19 - CHAR HEIGHT HOOK
Desc: LIRVGA19.COM fixes display problems on some notebooks by hooking
INT 10h and resetting the BIOS character height (MEM 0040h:0085h)
to 10h on return, if it happens to be greater than 10h.
Program: LIRVGA19.COM is part of the Lithuanian LIR codepage support package
developed by LABAS u.a.b.
SeeAlso: INT 10/AX=5555h/BX=BBBBh,MEM 0040h:0085h
--------V-1000-------------------------------
INT 10 - VIDEO - SET VIDEO MODE
AH = 00h
AL = desired video mode (see #00010)
Return: AL = video mode flag (Phoenix, AMI BIOS)
20h mode > 7
30h modes 0-5 and 7
3Fh mode 6
AL = CRT controller mode byte (Phoenix 386 BIOS v1.10)
Desc: specify the display mode for the currently active display adapter
InstallCheck: for Ahead adapters, the signature "AHEAD" at C000h:0025h
for Paradise adapters, the signature "VGA=" at C000h:007Dh
for Oak Tech OTI-037/057/067/077 chipsets, the signature "OAK VGA" at
C000h:0008h
for ATI adapters, the signature "761295520" at C000h:0031h; the byte
at C000h:0043h indicates the chipset revision:
31h for 18800
32h for 18800-1
33h for 18800-2
34h for 18800-4
35h for 18800-5
62h for 68800AX (Mach32) (see also #00732)
the two bytes at C000h:0040h indicate the adapter type
"22" EGA Wonder
"31" VGA Wonder
"32" EGA Wonder800+
the byte at C000h:0042h contains feature flags
bit 1: mouse port present
bit 4: programmable video clock
the byte at C000h:0044h contains additional feature flags if chipset
byte > 30h (see #00009)
for Genoa video adapters, the signature 77h XXh 99h 66h at C000h:NNNNh,
where NNNNh is stored at C000h:0037h and XXh is
00h for Genoa 6200/6300
11h for Genoa 6400/6600
22h for Genoa 6100
33h for Genoa 5100/5200
55h for Genoa 5300/5400
for SuperEGA BIOS v2.41+, C000h:0057h contains the product level
for Genoa SuperEGA BIOS v3.0+, C000h:0070h contains the signature
"EXTMODE", indicating support for extended modes
Notes: IBM standard modes do not clear the screen if the high bit of AL is set
(EGA or higher only)
the Tseng ET4000 chipset is used by the Orchid Prodesigner II, Diamond
SpeedSTAR VGA, Groundhog Graphics Shadow VGA, Boca Super X VGA,
Everex EV-673, etc.
intercepted by GRAFTABL from Novell DOS 7 and Caldera OpenDOS 7.01.
SeeAlso: AX=0070h,AX=007Eh,AX=10E0h,AX=10F0h,AH=40h,AX=6F05h,AH=FFh"GO32"
SeeAlso: INT 33/AX=0028h,INT 5F/AH=00h,INT 62/AX=0001h,MEM 0040h:0049h
Index: installation check;Tseng ET4000|installation check;Ahead video cards
Index: installation check;Oak Technologies|installation check;ATI video cards
Index: installation check;Paradise video|installation check;Genoa video cards
Bitfields for ATI additional feature flags:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -