Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
back2root:ibm-pc-ms-dos:hardware:irq [2023/01/06 23:23] – créée 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 2: | Ligne 2: | ||
===== Intel Defined CPU Exception Table (see notes) ===== | ===== Intel Defined CPU Exception Table (see notes) ===== | ||
- | + | {{tablelayout? | |
- | ^ Interrupt | + | ^ Interrupt |
- | | 0 |Divide by zero | + | | 0 | Divide by zero | |
- | | 1 |Single step | | + | | 1 | Single step |
- | | 2 |Non-maskable | + | | 2 | Non-maskable |
- | | 3 |Breakpoint | + | | 3 | Breakpoint |
- | | 4 |Overflow trap | | + | | 4 | Overflow trap |
- | | 5 |BOUND range exceeded (186, | + | | 5 | BOUND range exceeded (186, |
- | | 6 |Invalid opcode (186, | + | | 6 | Invalid opcode (186, |
- | | 7 |Coprocessor not available (286, | + | | 7 | Coprocessor not available (286, |
- | | 8 |Double fault exception (286, | + | | 8 | Double fault exception (286, |
- | | 9 |Coprocessor segment overrun (286, | + | | 9 | Coprocessor segment overrun (286, |
- | | A |Invalid task state segment (286, | + | | A | Invalid task state segment (286, |
- | | B |Segment not present (286, | + | | B | Segment not present (286, |
- | | C |Stack exception (286, | + | | C | Stack exception (286, |
- | | D |General protection exception (286, | + | | D | General protection exception (286, |
- | | E |Page fault (286, | + | | E | Page fault (286, |
- | | F |Reserved | + | | F | Reserved |
- | |10 |Coprocessor error (286, | + | | 10 |
===== IBM PC Hardware Interrupt Table (in order of priority) ===== | ===== IBM PC Hardware Interrupt Table (in order of priority) ===== | ||
- | + | {{tablelayout? | |
- | ^ IRQ# ^Interrupt^Function^ | + | ^ IRQ# |
- | |IRQ0 | 8 |<A HREF="8253.html"> | + | | IRQ0 |
- | |IRQ1 | 9 |keyboard service required | + | | IRQ1 |
- | |IRQ2 | A |slave | + | | IRQ2 |
- | |IRQ8 |70 |real time clock (AT, | + | | IRQ8 |
- | |IRQ9 |71 |software redirected to IRQ2 (AT, | + | | IRQ9 |
- | |IRQ10 |72 |reserved | + | | IRQ10 | 72 |
- | |IRQ11 |73 |reserved | + | | IRQ11 | 73 |
- | |IRQ12 |74 |mouse interrupt | + | | IRQ12 | 74 |
- | |IRQ13 |75 |numeric coprocessor error (AT, | + | | IRQ13 | 75 |
- | |IRQ14 |76 |fixed disk controller (AT, | + | | IRQ14 | 76 |
- | |IRQ15 |77 |reserved | + | | IRQ15 | 77 |
- | |IRQ3 | B |COM2 or COM4 service required, (COM3-COM8 on MCA PS/2) | + | | IRQ3 |
- | |IRQ4 | C |COM1 or COM3 service required | + | | IRQ4 |
- | |IRQ5 | D |fixed disk or data request from LPT2 | + | | IRQ5 |
- | |IRQ6 | E |floppy disk service required | + | | IRQ6 |
- | |IRQ7 | F |data request from LPT1 (unreliable on IBM mono) | | + | | IRQ7 |
===== Interrupt Table as Implemented by System BIOS/DOS ===== | ===== Interrupt Table as Implemented by System BIOS/DOS ===== | ||
- | + | {{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 |
- | | 6 |CPU |Invalid opcode (186, | + | | 6 | CPU | Invalid opcode (186, |
- | | 7 |CPU |coprocessor not available (286, | + | | 7 | CPU | coprocessor not available (286, |
- | | 8 |IRQ0 |<A HREF="8253.html"> | + | | 8 | IRQ0 |
- | | 9 |IRQ1 |keyboard service required (see <A HREF=" | + | | 9 | IRQ1 |
- | | A |IRQ2 |slave | + | | A | IRQ2 |
- | | B |IRQ3 |COM2 service required (PS/2 MCA COM3-COM8) | + | | B | IRQ3 |
- | | C |IRQ4 |COM1 service required | + | | C | IRQ4 |
- | | D |IRQ5 |fixed disk or data request from LPT2 | + | | D | IRQ5 |
- | | E |IRQ6 |floppy disk service required | + | | E | IRQ6 |
- | | F |IRQ7 |data request from LPT1 (unreliable on IBM mono) | | + | | F | IRQ7 |
- | |10 |BIOS |video (see <A HREF="int_10.html"> | + | | 10 |
- | |11 |BIOS |Equipment determination (see <A HREF=" | + | | 11 |
- | |12 |BIOS |memory size (see <A HREF=" | + | | 12 |
- | |13 |BIOS |disk I/O service | + | | 13 |
- | |14 |BIOS |serial communications (see <A HREF=" | + | | 14 |
- | |15 |BIOS |system services, cassette (see <A HREF=" | + | | 15 |
- | |16 |BIOS |keyboard services (see <A HREF=" | + | | 16 |
- | |17 |BIOS |parallel printer (see <A HREF=" | + | | 17 |
- | |18 |BIOS |ROM BASIC loader | + | | 18 |
- | |19 |BIOS |bootstrap loader (unreliable, | + | | 19 |
- | |1A |BIOS |time of day (see <A HREF=" | + | | 1A |
- | |1B |BIOS |user defined ctrl-break handler (see <A HREF=" | + | | 1B |
- | |1C |BIOS |user defined clock tick handler (see <A HREF=" | + | | 1C |
- | |1D |BIOS |<A HREF="6845.html"> | + | | 1D |
- | |1E |BIOS |diskette parameter pointer (base table) | + | | 1E |
- | |1F |BIOS |graphics character table | + | | 1F |
- | |20 |DOS |general program termination | + | | 20 |
- | |21 |DOS |function request services (see <A HREF="int_21.html"> | + | | 21 |
- | |22 |DOS |terminate address (see <A HREF=" | + | | 22 |
- | |23 |DOS |control break termination address (see <A HREF=" | + | | 23 |
- | |24 |DOS |critical error handler (see <A HREF=" | + | | 24 |
- | |25 |DOS |absolute disk read (see <A HREF=" | + | | 25 |
- | |26 |DOS |absolute disk write (see <A HREF=" | + | | 26 |
- | |27 |DOS |terminate and stay resident (see <A HREF=" | + | | 27 |
- | |28 |DOS |idle loop, issued by DOS when idle (see <A HREF=" | + | | 28 |
- | |29 |DOS |fast TTY console I/O (see <A HREF=" | + | | 29 |
- | |2A |DOS |critical section and NETBIOS (see <A HREF=" | + | | 2A |
- | |2B |DOS |internal, | + | | 2B |
- | |2C |DOS |internal, | + | | 2C |
- | |2D |DOS |internal, | + | | 2D |
- | |2E |DOS |exec command from base level command | + | | 2E |
- | | | |interpreter (see <A HREF=" | + | | 2F |
- | |2F |DOS |multiplexer (see <A HREF=" | + | | 30-31 | CPM | far jump vector for CPM (not an interrupt) |
- | |30-31 |CPM |far jump vector for CPM (not an interrupt) | + | | 31 |
- | |31 |DPMI |DOS Protected Mode Interface (for DOS extenders) | + | | 32 |
- | |32 | |reserved | + | | 33 |
- | |33 | |mouse support (see <A HREF=" | + | | 34-3E | |
- | |34-3E | |Microsoft/ | + | | 3F |
- | |3F | |overlay manager | + | | 40 |
- | |40 |BIOS |hard disk | | + | | 41 |
- | |41 |BIOS |fixed disk 0 parameters pointer (see <A HREF=" | + | | 42 |
- | |42 |BIOS |relocated video handler (EGA/ | + | | 43 |
- | |43 |BIOS |user font table (EGA/ | + | | 44 |
- | |44 |BIOS |first 128 graphics characters (also Netware) | + | | 45 |
- | |45 |BIOS |reserved for BIOS | | + | | 46 |
- | |46 |BIOS |fixed disk 1 parameters ptr (see <A HREF=" | + | | 47 |
- | |47 |BIOS |reserved for BIOS | | + | | 48 |
- | |48 |BIOS |PCjr cordless keyboard translation | + | | 49 |
- | |49 |BIOS |PCjr non-keyboard scancode translation table | + | | 4A |
- | |4A |BIOS |user alarm (AT, | + | | 4B-4F | BIOS |
- | |4B-4F |BIOS |reserved | + | | 50 |
- | |50 |BIOS |periodic alarm from timer (PS/ | + | | 51-58 | BIOS |
- | |51-58 |BIOS |reserved | + | | 59 |
- | |59 |BIOS |GSS Computer Graphics Interface | + | | 5A |
- | |5A |BIOS |cluster adapter BIOS entry point | + | | 5B |
- | |5B |BIOS |cluster adapter boot | + | | 5C |
- | |5C |NETBIOS |NETBIOS interface, TOPS interface | + | | 5D-5F | BIOS |
- | |5D-5F |BIOS |reserved for BIOS | | + | | 60-67 | |
- | |60-67 | |reserved for user software interrupts | + | | 67 |
- | |67 |EMS |LIM/ | + | | 68 |
- | |68 | |APPC | + | | 69-6B | |
- | |69-6B | |reserved by IBM | | + | | 6C |
- | |6C |DOS |DOS 3.2 real time clock update | + | | |
- | | |BIOS |system resume vector | + | | 6D-6F | |
- | |6D-6F | |reserved | + | | 70 |
- | |70 |IRQ8 |real time clock (AT, | + | | 71 |
- | |71 |IRQ9 |software redirected to IRQ2 (AT, | + | | 72 |
- | |72 |IRQ10 |reserved | + | | 73 |
- | |73 |IRQ11 |reserved | + | | 74 |
- | |74 |IRQ12 |mouse interrupt | + | | 75 |
- | |75 |IRQ13 |numeric coprocessor NMI error (AT, | + | | 76 |
- | |76 |IRQ14 |fixed disk controller (AT, | + | | 77 |
- | |77 |IRQ15 |reserved | + | | 78-79 | |
- | |78-79 | |unused | + | | 80-85 | |
- | |80-85 | |ROM BASIC | | + | | 86-F0 | DOS | reserved for BASIC interpreter use | |
- | |86-F0 |DOS |reserved for BASIC interpreter use | + | | 86 |
- | |86 |NETBIOS|NETBIOS relocated INT 18 | + | | E0 |
- | |E0 |CPM |CP/ | + | | F1-FF | |
- | |F1-FF | |reserved by IBM | | + | | FE-FF | |
- | |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 | ||
</ | </ | ||