Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
back2root:ibm-pc-ms-dos:hardware:informations:irq [2023/01/16 17:54] – supprimée - modification externe (Unknown date) 127.0.0.1 | back2root:ibm-pc-ms-dos:hardware:informations:irq [2024/08/13 11:26] (Version actuelle) – [Interrupt Table as Implemented by System BIOS/DOS] frater | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== IRQs - Interrupts List ====== | ||
+ | ===== Intel Defined CPU Exception Table (see notes) ===== | ||
+ | |||
+ | ^ Interrupt | ||
+ | | 0 | Divide by zero | | ||
+ | | 1 | Single step | | ||
+ | | 2 | Non-maskable | ||
+ | | 3 | Breakpoint | ||
+ | | 4 | Overflow trap | | ||
+ | | 5 | BOUND range exceeded (186, | ||
+ | | 6 | Invalid opcode (186, | ||
+ | | 7 | Coprocessor not available (286, | ||
+ | | 8 | Double fault exception (286, | ||
+ | | 9 | Coprocessor segment overrun (286, | ||
+ | | A | Invalid task state segment (286, | ||
+ | | B | Segment not present (286, | ||
+ | | C | Stack exception (286, | ||
+ | | D | General protection exception (286, | ||
+ | | E | Page fault (286, | ||
+ | | F | Reserved | ||
+ | | 10 | Coprocessor error (286, | ||
+ | |||
+ | ===== IBM PC Hardware Interrupt Table (in order of priority) ===== | ||
+ | |||
+ | ^ IRQ# | ||
+ | | IRQ0 | ||
+ | | IRQ1 | ||
+ | | IRQ2 | ||
+ | | IRQ8 | ||
+ | | IRQ9 | ||
+ | | IRQ10 | 2 | reserved | ||
+ | | IRQ11 | 3 | reserved | ||
+ | | IRQ12 | 4 | mouse interrupt | ||
+ | | IRQ13 | 5 | numeric coprocessor error (AT, | ||
+ | | IRQ14 | 6 | fixed disk controller (AT, | ||
+ | | IRQ15 | 7 | reserved | ||
+ | | IRQ3 | ||
+ | | IRQ4 | ||
+ | | IRQ5 | ||
+ | | IRQ6 | ||
+ | | IRQ7 | ||
+ | |||
+ | |||
+ | ===== Interrupt Table as Implemented by System BIOS/DOS ===== | ||
+ | {{tablelayout? | ||
+ | ^ INT # ^ Locus ^ Function | ||
+ | | 0 | CPU | divide by zero | | ||
+ | | 1 | CPU | single step | | ||
+ | | 2 | CPU | non-maskable | ||
+ | | 3 | CPU | breakpoint | ||
+ | | 4 | CPU | overflow trap | | ||
+ | | 5 | BIOS | print screen | ||
+ | | 6 | CPU | Invalid opcode (186, | ||
+ | | 7 | CPU | coprocessor not available (286, | ||
+ | | 8 | IRQ0 | timer (55ms intervals, 18.21590 per second) | ||
+ | | 9 | IRQ1 | keyboard service required (see [[back2root: | ||
+ | | A | IRQ2 | slave 8259 or EGA/VGA vertical retrace | ||
+ | | B | IRQ3 | COM2 service required (PS/2 MCA COM3-COM8) | ||
+ | | C | IRQ4 | COM1 service required | ||
+ | | D | IRQ5 | fixed disk or data request from LPT2 | | ||
+ | | E | IRQ6 | floppy disk service required | ||
+ | | F | IRQ7 | data request from LPT1 (unreliable on IBM mono) | | ||
+ | | 10 | ||
+ | | 11 | ||
+ | | 12 | ||
+ | | 13 | ||
+ | | 14 | ||
+ | | 15 | ||
+ | | 16 | ||
+ | | 17 | ||
+ | | 18 | ||
+ | | 19 | ||
+ | | 1A | ||
+ | | 1B | ||
+ | | 1C | ||
+ | | 1D | ||
+ | | 1E | ||
+ | | 1F | ||
+ | | 20 | ||
+ | | 21 | ||
+ | | 22 | ||
+ | | 23 | ||
+ | | 24 | ||
+ | | 25 | ||
+ | | 26 | ||
+ | | 27 | ||
+ | | 28 | ||
+ | | 29 | ||
+ | | 2A | ||
+ | | 2B | ||
+ | | 2C | ||
+ | | 2D | ||
+ | | 2E | ||
+ | | 2F | ||
+ | | 30-31 | CPM | far jump vector for CPM (not an interrupt) | ||
+ | | 31 | ||
+ | | 32 | ||
+ | | 33 | ||
+ | | 34-3E | | Microsoft/ | ||
+ | | 3F | ||
+ | | 40 | ||
+ | | 41 | ||
+ | | 42 | ||
+ | | 43 | ||
+ | | 44 | ||
+ | | 45 | ||
+ | | 46 | ||
+ | | 47 | ||
+ | | 48 | ||
+ | | 49 | ||
+ | | 4A | ||
+ | | 4B-4F | BIOS | reserved | ||
+ | | 50 | ||
+ | | 51-58 | BIOS | reserved | ||
+ | | 59 | ||
+ | | 5A | ||
+ | | 5B | ||
+ | | 5C | ||
+ | | 5D-5F | BIOS | reserved for BIOS | | ||
+ | | 60-67 | | reserved for user software interrupts | ||
+ | | 67 | ||
+ | | 68 | ||
+ | | 69-6B | | reserved by IBM | | ||
+ | | 6C | ||
+ | | | ||
+ | | 6D-6F | | reserved | ||
+ | | 70 | ||
+ | | 71 | ||
+ | | 72 | ||
+ | | 73 | ||
+ | | 74 | ||
+ | | 75 | ||
+ | | 76 | ||
+ | | 77 | ||
+ | | 78-79 | | unused | ||
+ | | 80-85 | | ROM BASIC | | ||
+ | | 86-F0 | DOS | reserved for BASIC interpreter use | | ||
+ | | 86 | ||
+ | | E0 | ||
+ | | F1-FF | | reserved by IBM | | ||
+ | | FE-FF | | may be destroyed by return from protected mode using VDISK on 286 machines (Apr 86, DDJ) | | ||
+ | |||
+ | |||
+ | ===== Notes ===== | ||
+ | |||
+ | <WRAP round box> | ||
+ | Intel defined 0 through 20h for use for internal CPU; IBM redefined interrupts 0 through 1Fh for its own use, hence the duplicate definitions in the tables | ||
+ | </ | ||
+ | <WRAP round box> | ||
+ | all interrupts except the internal CPU exceptions push the flags and the CS:IP of the next instruction onto the stack. | ||
+ | |||
+ | CPU exception interrupts are similar but push the CS:IP of the causal instruction. 8086/88 divide exceptions are different, they return to the instruction following the division | ||
+ | </ | ||
+ | <WRAP round box> | ||
+ | interrupts are disabled upon entry into any interrupt routine and should be enabled by the user or by an IRET | ||
+ | </ | ||
+ | <WRAP round box> | ||
+ | in DOS 3.2+ hardware IRQ interrupts are re-vectored through DOS to provide standard stack frames | ||
+ | </ | ||
+ | |||
+ | <nspages -h1 -simpleList -subns -exclude: | ||
+ | |||
+ | [[back2root: |