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:irq [2023/01/06 23:27] – [Interrupt Table as Implemented by System BIOS/DOS] frater | back2root:ibm-pc-ms-dos:hardware:irq [2024/04/07 11:16] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. 47.128.33.122 | ||
---|---|---|---|
Ligne 45: | Ligne 45: | ||
===== Interrupt Table as Implemented by System BIOS/DOS ===== | ===== Interrupt Table as Implemented by System BIOS/DOS ===== | ||
{{tablelayout? | {{tablelayout? | ||
- | ^ INT # ^ Locus ^ Function | + | ^ INT # ^ Locus ^ Function |
- | | 0 | CPU | divide by zero | + | | 0 | CPU | divide by zero | |
- | | 1 | CPU | single step | | + | | 1 | CPU | single step |
- | | 2 | CPU | non-maskable | + | | 2 | CPU | non-maskable |
- | | 3 | CPU | breakpoint | + | | 3 | CPU | breakpoint |
- | | 4 | CPU | overflow trap | | + | | 4 | CPU | overflow trap |
- | | 5 | BIOS | print screen | + | | 5 | BIOS | print screen |
- | | 6 | CPU | Invalid opcode (186, | + | | 6 | CPU | Invalid opcode (186, |
- | | 7 | CPU | coprocessor not available (286, | + | | 7 | CPU | coprocessor not available (286, |
- | | 8 | IRQ0 | [[back2root: | + | | 8 | IRQ0 | [[back2root: |
- | | 9 | IRQ1 | keyboard service required (see <A HREF=" | + | | 9 | IRQ1 | keyboard service required (see [[back2root: |
- | | A | IRQ2 | slave [[back2root: | + | | A | IRQ2 | slave [[back2root: |
- | | B | IRQ3 | COM2 service required (PS/2 MCA COM3-COM8) | + | | B | IRQ3 | COM2 service required (PS/2 MCA COM3-COM8) |
- | | C | IRQ4 | COM1 service required | + | | C | IRQ4 | COM1 service required |
- | | D | IRQ5 | fixed disk or data request from LPT2 | + | | D | IRQ5 | fixed disk or data request from LPT2 | |
- | | E | IRQ6 | floppy disk service required | + | | E | IRQ6 | floppy disk service required |
- | | F | IRQ7 | data request from LPT1 (unreliable on IBM mono) | | + | | F | IRQ7 | data request from LPT1 (unreliable on IBM mono) |
- | | 10 | + | | 10 |
- | | 11 | + | | 11 |
- | | 12 | + | | 12 |
- | | 13 | + | | 13 |
- | | 14 | + | | 14 |
- | | 15 | + | | 15 |
- | | 16 | + | | 16 |
- | | 17 | + | | 17 |
- | | 18 | + | | 18 |
- | | 19 | + | | 19 |
- | | 1A | + | | 1A |
- | | 1B | + | | 1B |
- | | 1C | + | | 1C |
- | | 1D | + | | 1D |
- | | 1E | + | | 1E |
- | | 1F | + | | 1F |
- | | 20 | + | | 20 |
- | | 21 | + | | 21 |
- | | 22 | + | | 22 |
- | | 23 | + | | 23 |
- | | 24 | + | | 24 |
- | | 25 | + | | 25 |
- | | 26 | + | | 26 |
- | | 27 | + | | 27 |
- | | 28 | + | | 28 |
- | | 29 | + | | 29 |
- | | 2A | + | | 2A |
- | | 2B | + | | 2B |
- | | 2C | + | | 2C |
- | | 2D | + | | 2D |
- | | 2E | + | | 2E |
- | | 2F | + | | 2F |
- | | 30-31 | CPM | far jump vector for CPM (not an interrupt) | + | | 30-31 | CPM | far jump vector for CPM (not an interrupt) |
- | | 31 | + | | 31 |
- | | 32 | + | | 32 |
- | | 33 | + | | 33 |
- | | 34-3E | | Microsoft/ | + | | 34-3E | | Microsoft/ |
- | | 3F | + | | 3F |
- | | 40 | + | | 40 |
- | | 41 | + | | 41 |
- | | 42 | + | | 42 |
- | | 43 | + | | 43 |
- | | 44 | + | | 44 |
- | | 45 | + | | 45 |
- | | 46 | + | | 46 |
- | | 47 | + | | 47 |
- | | 48 | + | | 48 |
- | | 49 | + | | 49 |
- | | 4A | + | | 4A |
- | | 4B-4F | BIOS | reserved | + | | 4B-4F | BIOS | reserved |
- | | 50 | + | | 50 |
- | | 51-58 | BIOS | reserved | + | | 51-58 | BIOS | reserved |
- | | 59 | + | | 59 |
- | | 5A | + | | 5A |
- | | 5B | + | | 5B |
- | | 5C | + | | 5C |
- | | 5D-5F | BIOS | reserved for BIOS | | + | | 5D-5F | BIOS | reserved for BIOS |
- | | 60-67 | | reserved for user software interrupts | + | | 60-67 | | reserved for user software interrupts |
- | | 67 | + | | 67 |
- | | 68 | + | | 68 |
- | | 69-6B | | reserved by IBM | | + | | 69-6B | | reserved by IBM |
- | | 6C | + | | 6C |
- | | | + | | |
- | | 6D-6F | | reserved | + | | 6D-6F | | reserved |
- | | 70 | + | | 70 |
- | | 71 | + | | 71 |
- | | 72 | + | | 72 |
- | | 73 | + | | 73 |
- | | 74 | + | | 74 |
- | | 75 | + | | 75 |
- | | 76 | + | | 76 |
- | | 77 | + | | 77 |
- | | 78-79 | | unused | + | | 78-79 | | unused |
- | | 80-85 | | ROM BASIC | | + | | 80-85 | | ROM BASIC |
- | | 86-F0 | DOS | reserved for BASIC interpreter use | + | | 86-F0 | DOS | reserved for BASIC interpreter use | |
- | | 86 | + | | 86 |
- | | E0 | + | | E0 |
- | | F1-FF | | reserved by IBM | | + | | F1-FF | | reserved by IBM |
- | | FE-FF | | may be destroyed by return from protected mode using VDISK on 286 machines (Apr 86, DDJ) | + | | FE-FF | | may be destroyed by return from protected mode using VDISK on 286 machines (Apr 86, DDJ) | |
<WRAP round box> | <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 | * 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 | ||
* 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 | * 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 | ||
- | * interrupts are disabled upon entry into any interrupt routine and should be enabled by the user or by an <A HREF="iret.html"> | + | * interrupts are disabled upon entry into any interrupt routine and should be enabled by the user or by an [[back2root: |
* in DOS 3.2+ hardware IRQ interrupts are re-vectored through DOS to provide standard stack frames | * in DOS 3.2+ hardware IRQ interrupts are re-vectored through DOS to provide standard stack frames | ||
</ | </ | ||