Outils pour utilisateurs

Outils du site


back2root:ibm-pc-ms-dos:hardware:informations:irq

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine 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.1back2root:ibm-pc-ms-dos:hardware:informations:irq [2024/04/07 23:48] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. 213.180.203.28
Ligne 1: Ligne 1:
 +====== IRQs - Interrupts List ======
  
 +===== Intel Defined CPU Exception Table (see notes) =====
 +
 +^  Interrupt  ^ Function                                ^
 +|  0          | Divide by zero                          |
 +|  1          | Single step                             |
 +|  2          | Non-maskable  (NMI)                     |
 +|  3          | Breakpoint                              |
 +|  4          | Overflow trap                           |
 +|  5          | BOUND range exceeded (186,286,386)      |
 +|  6          | Invalid opcode (186,286,386)            |
 +|  7          | Coprocessor not available (286,386)     |
 +|  8          | Double fault exception (286,386)        |
 +|  9          | Coprocessor segment overrun (286,386)   |
 +|  A          | Invalid task state segment (286,386)    |
 +|  B          | Segment not present (286,386)           |
 +|  C          | Stack exception (286,386)               |
 +|  D          | General protection exception (286,386)  |
 +|  E          | Page fault (286,386)                    |
 +|  F          | Reserved                                |
 +|  10         | Coprocessor error (286,386)             |
 +
 +===== IBM PC Hardware Interrupt Table (in order of priority) =====
 +
 +^  IRQ#    errupt  ^ Function                                                ^
 +|  IRQ0    8       | timer (55ms intervals, 18.2 per second)                 |
 +|  IRQ1    9       | keyboard service required                               |
 +|  IRQ2    A       | slave [[back2root:ibm-pc-ms-dos:hardware:8259|8259]] or EGA/VGA vertical retrace                  |
 +|  IRQ8    0       | real time clock  (AT,XT286,PS50+)                       |
 +|  IRQ9    1       | software redirected to IRQ2  (AT,XT286,PS50+)           |
 +|  IRQ10  |  2       | reserved  (AT,XT286,PS50+)                              |
 +|  IRQ11  |  3       | reserved  (AT,XT286,PS50+)                              |
 +|  IRQ12  |  4       | mouse interrupt  (PS50+)                                |
 +|  IRQ13  |  5       | numeric coprocessor error  (AT,XT286,PS50+)             |
 +|  IRQ14  |  6       | fixed disk controller (AT,XT286,PS50+)                  |
 +|  IRQ15  |  7       | reserved  (AT,XT286,PS50+)                              |
 +|  IRQ3    B       | COM2 or COM4 service required, (COM3-COM8 on MCA PS/2)  |
 +|  IRQ4    C       | COM1 or COM3 service required                           |
 +|  IRQ5    D       | fixed disk or data request from LPT2                    |
 +|  IRQ6    E       | floppy disk service required                            |
 +|  IRQ7    F       | data request from LPT1 (unreliable on IBM mono)         |
 +
 +
 +===== Interrupt Table as Implemented by System BIOS/DOS =====
 +{{tablelayout?rowsHeaderSource=Auto}}
 +^  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,286,386)                                                                                                                      |
 +|  7      |  CPU      | coprocessor not available (286,386)                                                                                                               |
 +|  8      |  IRQ0     | timer (55ms intervals, 18.21590 per second)                                                                                                       |
 +|  9      |  IRQ1     | keyboard service required (see [[back2root:ibm-pc-ms-dos:interrupts:int_09:start|INT 9]])                                                               |
 +|  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      BIOS     | video (see [[back2root:ibm-pc-ms-dos:interrupts:int_10|INT 10]])                                                                                  |
 +|  11      BIOS     | Equipment determination (see [[back2root:ibm-pc-ms-dos:interrupts:int_11:start|INT 11]])                                                                |
 +|  12      BIOS     | memory size (see [[back2root:ibm-pc-ms-dos:interrupts:int_12:start|INT 12]])                                                                            |
 +|  13      BIOS     | disk I/O service  (see [[back2root:ibm-pc-ms-dos:interrupts:int_13|INT 13]])                                                                      |
 +|  14      BIOS     | serial communications (see [[back2root:ibm-pc-ms-dos:interrupts:int_14|INT 14]])                                                                  |
 +|  15      BIOS     | system services, cassette (see [[back2root:ibm-pc-ms-dos:interrupts:int_15|INT 15]])                                                              |
 +|  16      BIOS     | keyboard services (see [[back2root:ibm-pc-ms-dos:interrupts:int_16|INT 16]])                                                                      |
 +|  17      BIOS     | parallel printer (see [[back2root:ibm-pc-ms-dos:interrupts:int_17|INT 17]])                                                                       |
 +|  18      BIOS     | ROM BASIC loader                                                                                                                                  |
 +|  19      BIOS     | bootstrap loader (unreliable, see [[back2root:ibm-pc-ms-dos:interrupts:int_19|INT 19]])                                                           |
 +|  1A      BIOS     | time of day       (see [[back2root:ibm-pc-ms-dos:interrupts:int_1A|INT 1A]])                                                                      |
 +|  1B      BIOS     | user defined ctrl-break handler (see [[back2root:ibm-pc-ms-dos:interrupts:int_1B|INT 1B]])                                                        |
 +|  1C      BIOS     | user defined clock tick handler (see [[back2root:ibm-pc-ms-dos:interrupts:int_1C|INT 1C]])                                                        |
 +|  1D      BIOS     | 6845 video parameter pointer                                                                                                                      |
 +|  1E      BIOS     | diskette parameter pointer (base table)                                                                                                           |
 +|  1F      BIOS     | graphics character table                                                                                                                          |
 +|  20      DOS      | general program termination                                                                                                                       |
 +|  21      DOS      | function request services (see [[back2root:ibm-pc-ms-dos:interrupts:int_21|INT 21]])                                                              |
 +|  22      DOS      | terminate address (see [[back2root:ibm-pc-ms-dos:interrupts:int_22|INT 22]])                                                                      |
 +|  23      DOS      | control break termination address (see [[back2root:ibm-pc-ms-dos:interrupts:int_23|INT 23]])                                                      |
 +|  24      DOS      | critical error handler (see [[back2root:ibm-pc-ms-dos:interrupts:int_24|INT 24]])                                                                 |
 +|  25      DOS      | absolute disk read (see [[back2root:ibm-pc-ms-dos:interrupts:int_25|INT 25]])                                                                     |
 +|  26      DOS      | absolute disk write (see [[back2root:ibm-pc-ms-dos:interrupts:int_26|INT 26]])                                                                    |
 +|  27      DOS      | terminate and stay resident (see [[back2root:ibm-pc-ms-dos:interrupts:int_27|INT 27]])                                                            |
 +|  28      DOS      | idle loop, issued by DOS when idle (see [[back2root:ibm-pc-ms-dos:interrupts:int_28:start|INT 28]])                                                     |
 +|  29      DOS      | fast TTY console I/O (see [[back2root:ibm-pc-ms-dos:interrupts:int_29|INT 29]])                                                                   |
 +|  2A      DOS      | critical section and NETBIOS (see [[back2root:ibm-pc-ms-dos:interrupts:int_2A|INT 2A]])                                                           |
 +|  2B      DOS      | internal, simple IRET in DOS 2.0-5.0                                                                                                              |
 +|  2C      DOS      | internal, simple IRET in DOS 2.0-5.0                                                                                                              |
 +|  2D      DOS      | internal, simple IRET in DOS 2.0-5.0                                                                                                              |
 +|  2E      DOS      | exec command from base level command interpreter (see [[back2root:ibm-pc-ms-dos:interrupts:int_2E|INT 2E]])                                       |
 +|  2F      DOS      | multiplexer (see [[back2root:ibm-pc-ms-dos:interrupts:int_2F|INT 2F]])                                                                            |
 +|  30-31  |  CPM      | far jump vector for CPM (not an interrupt)                                                                                                        |
 +|  31      DPMI     | DOS Protected Mode Interface (for DOS extenders)                                                                                                  |
 +|  32               | reserved                                                                                                                                          |
 +|  33               | mouse support (see [[back2root:ibm-pc-ms-dos:interrupts:int_33|INT 33]])                                                                          |
 +|  34-3E  |           | Microsoft/Borland floating point emulation                                                                                                        |
 +|  3F               | overlay manager                                                                                                                                   |
 +|  40      BIOS     | hard disk                                                                                                                                         |
 +|  41      BIOS     | fixed disk 0 parameters pointer (see [[back2root:ibm-pc-ms-dos:interrupts:int_13_09|INT 13,9]])                                                   |
 +|  42      BIOS     | relocated video handler (EGA/VGA/PS)                                                                                                              |
 +|  43      BIOS     | user font table (EGA/VGA/PS)                                                                                                                      |
 +|  44      BIOS     | first 128 graphics characters (also Netware)                                                                                                      |
 +|  45      BIOS     | reserved for BIOS                                                                                                                                 |
 +|  46      BIOS     | fixed disk 1 parameters ptr (see [[back2root:ibm-pc-ms-dos:interrupts:int_13_09|INT 13,9]]/[[back2root:ibm-pc-ms-dos:interrupts:int_41|INT 41]])  |
 +|  47      BIOS     | reserved for BIOS                                                                                                                                 |
 +|  48      BIOS     | PCjr cordless keyboard translation                                                                                                                |
 +|  49      BIOS     | PCjr non-keyboard scancode translation table                                                                                                      |
 +|  4A      BIOS     | user alarm  (AT,CONV,PS/2) (see [[back2root:ibm-pc-ms-dos:interrupts:int_4A|INT 4A]])                                                             |
 +|  4B-4F  |  BIOS     | reserved                                                                                                                                          |
 +|  50      BIOS     | periodic alarm from timer (PS/2)                                                                                                                  |
 +|  51-58  |  BIOS     | reserved                                                                                                                                          |
 +|  59      BIOS     | GSS Computer Graphics Interface                                                                                                                   |
 +|  5A      BIOS     | cluster adapter BIOS entry point                                                                                                                  |
 +|  5B      BIOS     | cluster adapter boot                                                                                                                              |
 +|  5C      NETBIOS  | NETBIOS interface, TOPS interface                                                                                                                 |
 +|  5D-5F  |  BIOS     | reserved for BIOS                                                                                                                                 |
 +|  60-67  |           | reserved for user software interrupts                                                                                                             |
 +|  67      EMS      | LIM/EMS specification (see [[back2root:ibm-pc-ms-dos:interrupts:int_67|INT 67]])                                                                  |
 +|  68               | APPC                                                                                                                                              |
 +|  69-6B  |           | reserved by IBM                                                                                                                                   |
 +|  6C      DOS      | DOS 3.2 real time clock update                                                                                                                    |
 +|          BIOS     | system resume vector                                                                                                                              |
 +|  6D-6F  |           | reserved                                                                                                                                          |
 +|  70      IRQ8     | real time clock  (AT,XT286,PS50+, see [[back2root:ibm-pc-ms-dos:interrupts:int_15|INT 15]])                                                       |
 +|  71      IRQ9     | software redirected to IRQ2       (AT,XT286,PS50+)                                                                                                |
 +|  72      IRQ10    | reserved  (AT,XT286,PS50+)                                                                                                                        |
 +|  73      IRQ11    | reserved  (AT,XT286,PS50+)                                                                                                                        |
 +|  74      IRQ12    | mouse interrupt  (PS50+)                                                                                                                          |
 +|  75      IRQ13    | numeric coprocessor NMI error  (AT,XT286,PS50+)                                                                                                   |
 +|  76      IRQ14    | fixed disk controller (AT,XT286,PS50+)                                                                                                            |
 +|  77      IRQ15    | reserved  (AT,XT286,PS50+)                                                                                                                        |
 +|  78-79  |           | unused                                                                                                                                            |
 +|  80-85  |           | ROM BASIC                                                                                                                                         |
 +|  86-F0  |  DOS      | reserved for BASIC interpreter use                                                                                                                |
 +|  86      NETBIOS  | NETBIOS relocated [[back2root:ibm-pc-ms-dos:interrupts:int_18|INT 18]]                                                                            |
 +|  E0      CPM      | CP/M 86 function calls                                                                                                                            |
 +|  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>
 +<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>
 +<WRAP round box>
 +interrupts are disabled upon entry into any interrupt routine and should be enabled by the user or by an IRET
 +</WRAP>
 +<WRAP round box>
 +in DOS 3.2+ hardware IRQ interrupts are re-vectored through DOS to provide standard stack frames
 +</WRAP>
 +
 +<nspages -h1 -simpleList -subns -exclude:start -textPages="">
 +
 +[[back2root:ibm-pc-ms-dos:|Return to IBM PC]]