Der Interrupt ist die kurzfristige Unterbrechung eines laufenden Programmes oder, genauer gesagt, einer von der CPU abzuarbeitenden Befehlssequenz,
um einen anderen Prozess, die Interrupt-Routine auszuführen. Anschließend wird die Ausführung des Programmes hinter der Unterbrechungsstelle fortgesetzt.
Ein Interrupts ist z.B. die Möglichkeit einer schnellen Reaktion auf Signale von Ein/Ausgabe-Bausteinen oder Zeitgebern.
Ausgelöst werden Interrupts meist durch Elektronikkomponenten mittels einer so genannten Unterbrechungs-Anfrage. Der Prozessoren kennen auch spezielle
Interrupt-Befehle, um so genannte Software-Interrupts auszulösen. Bei Hardwareinterrupts wird zwischen maskierbaren Interrupts, deren Auslösung man unterbinden kann,
und nicht-maskierbaren Interrupts, die immer einen Sprung des Prozessors in die Interruptroutine auslösen, unterschieden.
Wird ein Interrupt aufgerufen, egal ob von der Software oder von der Hardware, so werden Flagregister, Codesegment und Instruction Pointer auf dem Stack gesichert
und zu einer Funktion gesprungen, deren Adresse - auch Interruptvektor genannt - in der Interrupttabelle steht.
Interrupt |
Adresse |
Funktion |
Beschreibung |
0 |
000-003 |
- |
Durch 0 geteilt |
1 |
004-007 |
- |
Einzelschritt (Debug-Modus) |
2(NMI) |
008-00B |
- |
Paritäts-Test-Routine |
2(NMI) |
008-00B |
- |
Koprozessor-Interrupt direkt |
2(NMI) |
008-00B |
- |
Koprozessor-Interrupt über INT 75, IRQ 13 |
2(NMI) |
008-00B |
- |
Tastatur-Interrupt-Routine |
2(NMI) |
008-00B |
- |
Test des Ein-/Ausgabekanals |
2(NMI) |
008-00B |
- |
Stromzufuhr des Laufwerk-Controllers auf Stand-By |
2(NMI) |
008-00B |
- |
System aufgehängt |
2(NMI) |
008-00B |
- |
RTC (Alarm-Interrupt) |
2(NMI) |
008-00B |
- |
System-Watchdog-Timer (IRQ0 verpasst) |
2(NMI) |
008-00B |
- |
Microchannel-DMA-TimerTime-Out-Interrupt |
3 |
00C-00F |
- |
Breakpoint (Debug-Modus) |
4 |
010-013 |
- |
Überlauf-Routine |
5 |
014-017 |
- |
Bildschirm drucken |
6 |
018-01B |
- |
unbekannter Befehl (nur 80286) |
7 |
01D-01F |
|
Reserviert |
8 (IRQ 0) |
020-023 |
- |
Timer-Interrupt-Handler |
9 (IRQ 1) |
024-027 |
- |
Tastatur-Interrupt-Handler |
0Ah (IRQ 2) |
028-02B |
- |
IRQ 8 bis IRQ 15 |
0Bh (IRQ 3) |
02C-02F |
- |
COM2-Controller-lnterrupt-Einsprung |
0Ch (IRQ 4) |
030-033 |
- |
COM1-Controller-Interrupt-Einsprung |
0Dh (IRQ 5) |
034-037 |
- |
LPT2-Controller-lnterrupt-Einsprung |
0Eh (IRQ 6) |
038-03B |
- |
Laufwerk-Controller-Interrupt-Einsprung |
0Fh (IRQ 7) |
03C-03F |
- |
LPT1-Controtler-lnterrupt-Einsprung |
10h |
040-043 |
0h |
Definiere Video-Modus |
10h |
040-043 |
1h |
Lege Cursor-Typ fest |
10h |
040-043 |
2h |
Setze Cursor-Position |
10h |
040-043 |
3h |
Lies Cursor-Position |
10h |
040-043 |
4h |
Ermittle Position des Lichtgriffels |
10h |
040-043 |
5h |
Wähle Bildschirmseite aus |
10h |
040-043 |
6h |
Fenster aufwärts scrollen |
10h |
040-043 |
7h |
Fenster abwärts scrollen |
10h |
040-043 |
8h |
Zeichen und Attribut lesen |
10h |
040-043 |
9h |
Schreibe Zeichen und Attribut |
10h |
040-043 |
0Ah |
Schreibe Zeichen an Cursor-Position |
10h |
040-043 |
0Bh |
Setze Farbpalette |
10h |
040-043 |
0Ch |
Setze Bildschirmpunkt |
10h |
040-043 |
0Dh |
Lies Bildpunkt |
10h |
040-043 |
0Eh |
Schreibe Text im Teletype-Modus |
10h |
040-043 |
0Fh |
Ermittle aktuellen Video-Modus |
10h |
040-043 |
10h |
Palettenregister setzen |
10h |
040-043 |
11h |
Zeichen-Generator |
10h |
040-043 |
12h |
Funktionsauswahl |
10h |
040-043 |
13h |
Schreibe Zeichenkette |
10h |
040-043 |
14h |
Lade LCD-Zeichensatz |
10h |
040-043 |
15h |
Rückgabe der physikalischen Parameter |
10h |
040-043 |
16h |
Reserviert |
10h |
040-043 |
17h |
Reserviert |
10h |
040-043 |
18h |
Reserviert |
10h |
040-043 |
19h |
Reserviert |
10h |
040-043 |
1Ah |
Lies/schreibe Hardware-Konfiguration |
10h |
040-043 |
1Bh |
Ermittle Video-Status |
10h |
040-043 |
1Ch |
Sichern/Wiederherstellen des Video-Status |
10h |
040-043 |
1Dh-FFh |
Reserviert |
11h |
044-047 |
- |
Systemkonfiguration ermitteln |
12h |
048-04B |
- |
Speichergröße |
13h |
04C-04F |
0h |
Diskettenlaufwerk - System initialisieren |
13h |
04C-04F |
1h |
Diskettenlaufwerk - Status lesen |
13h |
04C-04F |
2h |
Diskettenlaufwerk - Diskette lesen |
13h |
04C-04F |
3h |
Diskettenlaufwerk - Diskette schreiben |
13h |
04C-04F |
4h |
Diskettenlaufwerk - Sektoren überprüfen |
13h |
04C-04F |
5h |
Diskettenlaufwerk - Spur formatieren |
13h |
04C-04F |
6h |
Laufwerk - Zylinder formatieren und Flags für fehlerhafte Sektoren setzen |
13h |
04C-04F |
7h |
Laufwerk - Laufwerk formatieren und bei Zylinder anfangen |
13h |
04C-04F |
8h |
Laufwerk - Aktuelle Laufwerksparameter ermitteln |
13h |
04C-04F |
9h |
Laufwerk - Fremdlaufwerke anpassen |
13h |
04C-04F |
0Ah |
Laufwerk - Erweiterte Sektoren lesen |
13h |
04C-04F |
0Bh |
Laufwerk - Fremdlaufwerke anpassen |
13h |
04C-04F |
0Ch |
Laufwerk - Zylinder suchen |
13h |
04C-04F |
0Dh |
Laufwerk - Zusätzlicher Disk-Reset |
13h |
04C-04F |
0Eh |
Laufwerk - Sektoren-Buffer lesen |
13h |
04C-04F |
0Fh |
Laufwerk - Sektoren-Buffer schreiben |
13h |
04C-04F |
10h |
Laufwerk - Überprüfung der Laufwerksbereitschaft |
13h |
04C-04F |
11h |
Laufwerk - Plattenköpfe parken |
13h |
04C-04F |
12h |
Laufwerk - Controller-RAM-Diagnose |
13h |
04C-04F |
13h |
Laufwerk - Laufwerksdiagnose |
13h |
04C-04F |
14h |
Laufwerk - Controller-Diagnose |
13h |
04C-04F |
15h |
Laufwerk - DASD-Typ lesen |
13h |
04C-04F |
16h |
Diskettenlaufwerk - Status des Diskettenwechsels ermitteln |
13h |
04C-04F |
17h |
Diskettenlaufwerk - DASD-Typ für Formatierung festlegen |
13h |
04C-04F |
18h |
Diskettenlaufwerk - Media-Typ festlegen |
13h |
04C-04F |
19h |
Laufwerk - Köpfe parken |
13h |
04C-04F |
1Ah |
Laufwerk - Einheit (Unit) formatieren |
13h |
04C-04F |
1Bh-FFh |
Reserviert |
14h |
050-053 |
0h |
COM - Kommunikations-Port initialisieren |
14h |
050-053 |
1h |
COM Zeichen an serielle Schnittstelle senden |
14h |
050-053 |
2h |
COM - Zeichen von serieller Schnittstelle lesen |
14h |
050-053 |
3h |
COM - Schnittstellen-Status |
14h |
050-053 |
4h |
COM - Erweiterte Initialisierung |
14h |
050-053 |
5h |
COM Erweiterte Schnittstellen-Kontrolle |
14h |
050-053 |
6h-FFh |
Reserviert |
15h |
054-057 |
0h |
Kasette - Motor an |
15h |
054-057 |
1h |
Kasette - Motor aus |
15h |
054-057 |
2h |
Kasette - Datenblöcke lesen |
15h |
054-057 |
3h |
Kasette - Datenblöcke schreiben |
15h |
054-057 |
4h-0Eh |
Reserviert |
15h |
054-057 |
0Fh |
Laufwerk - Formatieren (Periodisch) |
15h |
054-057 |
10-1Fh |
Reserviert |
15h |
054-057 |
20h |
AL=10 Sysreq-Belegung / AL=11 Sysreq-Abschluß |
15h |
054-057 |
21h |
Gerät - Selbsttest Fehlerliste |
15h |
054-057 |
22h-3F |
Reserviert |
15h |
054-057 |
40h |
Gerät - Lesen/überprüfen (Profile) |
15h |
054-057 |
41h |
Gerät - Auf externes Ereignis warten |
15h |
054-057 |
42h |
Gerät - System-Stromversorgung aus (Request) |
15h |
054-057 |
43h |
Gerät - System-Status lesen |
15h |
054-057 |
44h |
Gerät - Interne Modem-Stromversorgung aktivieren |
15h |
054-057 |
45h-4Eh |
Reserviert |
15h |
054-057 |
4Fh |
Tastatur abfangen |
15h |
054-057 |
50h-7Fh |
Reserviert |
15h |
054-057 |
80h |
Gerät öffnen |
15h |
054-057 |
81h |
Gerät schließen |
15h |
054-057 |
82h |
Gerät - Programm beenden |
15h |
054-057 |
83h |
Gerät - Intervall warten |
15h |
054-057 |
84h |
Joystick |
15h |
054-057 |
85h |
System - System-Request-Taste |
15h |
054-057 |
86h |
Gerät - Warten |
15h |
054-057 |
87h |
Gerät - Block bewegen |
15h |
054-057 |
88h |
Speicher - Größe des erweiterten Speichers ermitteln |
15h |
054-057 |
89h |
Gerät - beschäftigt (busy) |
15h |
054-057 |
91h |
Gerät - Interrupt abschließen und Flag setzen |
15h |
054-057 |
92h-BFh |
Reserviert |
15h |
054-057 |
C0h |
Gerät - System-Parameter ermitteln |
15h |
054-057 |
C1h |
Gerät - Segment-Adresse des erweiterten BIOS ermitteln |
15h |
054-057 |
C2h |
Gerät - BIOS-Interface des Zeiger-Gerätes |
15h |
054-057 |
C3h |
Gerät - Watchdog-Time-Out aktivieren |
15h |
054-057 |
C4h |
Gerät - Programmierbare, wahlfreie Auswahl |
15h |
054-057 |
C5h-FFh |
Reserviert |
16h |
058-05B |
0h |
Zeichen von Tastatur lesen |
16h |
058-05B |
1h |
Tastatur - Status ermitteln |
16h |
058-05B |
2h |
Tastatur - Flags ermitteln |
16h |
058-05B |
3h |
Tastatur - Verzögerung |
16h |
058-05B |
4h |
Tastatur - Klicken an/aus |
16h |
058-05B |
5h |
Tastatur - Zeichen schreiben |
16h |
058-05B |
6h-0Fh |
Reserviert |
16h |
058-05B |
10h |
Erweitertes Lesen eines Zeichens von Tastatur |
16h |
058-05B |
11h |
Erweiterte Tastenabfrage |
16h |
058-05B |
12h |
Tastatur - Erweiterten Shift-Status ermitteln |
16h |
058-05B |
13h-FFh |
Reserviert |
17h |
05C-05F |
0h |
Zeichen an Drucker senden |
17h |
05C-05F |
1h |
Drucker-Port initialisieren |
17h |
05C-05F |
2h |
Drucker-Status feststellen |
17h |
05C-05F |
3h-FFh |
Reserviert |
18h |
060-063 |
- |
Basic laden |
19h |
064-067 |
- |
Bootstrap - Boot-Sektor laden |
1Ah |
068-06B |
0h |
Tageszeit - Zeitzähler lesen |
1Ah |
068-06B |
1h |
Tageszeit - Zeitzähler setzen |
1Ah |
068-06B |
2h |
Tageszeit - Auslesen der RTC-Uhr |
1Ah |
068-06B |
3h |
Tageszeit - Setzen der RTC-Uhr |
1Ah |
068-06B |
4h |
Tageszeit - Auslesen des RTC-Datums |
1Ah |
068-06B |
5h |
Tageszeit - Setzen des RTC-Datums |
1Ah |
068-06B |
6h |
Tageszeit - Setzen der RTC-Alarmzeit |
1Ah |
068-06B |
7h |
Tageszeit - Löschen der RTC-Alarmzeit |
1Ah |
068-06B |
8h |
Tageszeit - RTC-aktivierten Stromzufluss einschalten |
1Ah |
068-06B |
9h |
Tageszeit - RTC-Alarm und -Status lesen |
1Ah |
068-06B |
0Ah |
Tageszeit - Lies Systemzähler (Tage) |
1Ah |
068-06B |
0Bh |
Tageszeit - Systemzähler setzen (Tage) |
1Ah |
068-06B |
0Ch-7Fh |
Reserviert |
1Ah |
068-06B |
80h |
Sound - Multiplexer-Aufbau |
1Ah |
068-06B |
81h-FFh |
Reserviert |