Interrupts aufgeschlsselt ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Nach der stark theoretischen Einleitung, folgt nun eine pro- grammierbezogene Darstellung der Interrupts, besser gesagt eines einzigen Interrupts. Es folgte eine kurze Beschreibung des Interrupts 19h, der das System neustartet. In einem Maschinenspracheprogramm eingebunden liest er sich ein- fach als 'INT 19h', in Wirklichkeit steckt hinter diesem Befehl aber eine sehr umfangreiche Befehlsfolge, die wir im folgenden auflisten werden: Instruction Pointer Mnemonics Speicher 1990 CS: CMP BYTE PTR [210A],00 CS:210A=00 1996 JNZ 199B 1998 / CALL 1153 1153 / PUSH AX 1154 / PUSH BX 1155 1| PUSH CX 1156 | PUSH DX 1157 | PUSH SI 1158 | PUSH DI 1159 | PUSH BP 115A | CS: INC BYTE PTR [210A] CS:210A=00 115F | / CALL 1114 1114 | 2| CS: CMP WORD PTR [23B0],00 CS:23B0=00 111A | 2| JZ 1152 1152 | \ RET 1162 | CS: CMP WORD PTR [23B0],00 CS:23B0=00 1168 | JNZ 115F 116A | CS: DEC BYTE PTR [210A] CS:210A=01 116F | POP BP 1170 | POP DI 1171 | POP SI 1172 | POP DX 1173 1| POP CX 1174 \ POP BX 1175 \ POP AX 1176 \ RET 199B CS: JMP FAR [23DC] CS:23DC=002F 002F JMP 02A6:062B CS = 04FA 062B CLI CS = 02A6 062C CS: TEST WORD PTR [08FA],0001 CS:08FA=0021 0633 JZ 063E 0635 CS: AND WORD PTR [08FA],-02 CS:08FA=0021 063B / CALL 0514 0514 / PUSH AX 0515 3| PUSHF 0516 | CLI 0517 | CS: OR WORD PTR [08FA],40 CS:08FA=0020 051D | CS: DB 66 0527 | MOV AL,0F 0529 | OUT 84,AL 052D 3| OUT 85,AL Und tschá......... Gut zu erkennen sind die 2 geschachtelten 'Prozeduraufrufe' (1,2) (CALLs), die sich ja wohl selbst dokumentieren und der am Ende offene CALL (3). Ernst beiseite: Typsch fr alle Interrupts ist das Retten der wichtigsten CPU-Register auf den Stack, sowie das sp„tere 'POPen' der selbigen. Wir wollen jetzt nicht n„her auf die Arbeitsweise des Interrupts eingehen. Es sollte nur mal deutlich gemacht werden, wie umfang- reich selbst einer der krzesten Interrupts sein kann. Mehr ber Interrupts gibt „hs im n„chsten MC. Kemil und Gabriel.