Programmeringsinfo
Här följer lite information om interrupts som anropas i COMPIS-program.
Jag har ingen riktig dokumentation om vilka interrupt som finns så
mycket av det som står här har listats ut genom disassemblering av
befintliga program (och bootblock) av mig och
Tomas Karlsson.
Tabell över interrupts
Interrupt |
Funktion |
(H)årdvaru/(M)jukvaru |
02 | NMI | H |
08 | Timer 0? | H |
12 | Timer 1? | H |
E0 | CP/M BDOS | M |
E4 | PC/Std-läge | M |
E6 | Grafik | M |
EB | Nätverk | M |
EE | Hårddisk | M |
EF | Teckenvisning | M |
F1 | Floppydisk | M |
F3 | Tangentbord | M |
F4 | Printer | M |
F5 | Klocka | M |
F8 | Serieport? | M |
Interrupt 0E0h
Detta interrupt är det som används för att kalla på BDOS-funktioner i
CP/M-86. Experiment med hemmagjort bootblock tyder på att det inte är
aktivt när man bootar datorn, utan aktiveras senare.
För information om BDOS-anrop, se CP/M Information archive : BDOS system calls
Interrupt 0E4h
Byte till PC-läge (tangentbord och tecken ?) (Endast COMPIS II?)
mov al, 1
mov ah, 10h
int 0E4h
Byte till COMPIS-läge (tangentbord och tecken ?) (Endast COMPIS II?)
mov al, 0
mov ah, 10h
int 0E4h
Interrupt 0F1h
Bootblocket till MS-DOS-disketten tyder på att INT 0F1h används ungefär
som DOS-interrupt nummer 13.
AH = 02h - Disk read sector(s) into memory
AL = Number of sectors to read
CH = Track number
CL = Sector number
DH = Head number
DL = Disk drive id
ES:BX -> data buffer
Return:
CF set on error
AH = Disk operation status (00 = successful completion)
Interrupt 0F2h
Byte till ANSI-läge (Endast COMPIS II?)
mov al, 1
mov ah, 7h
int 0F2h
Byte till standard-läge, dvs. VT-52 (Endast COMPIS II?)
mov al, 0
mov ah, 7h
int 0F2h
|