Lars Gjörling
<6825>
· Text 7523 · w8 · kommentar
1987-09-27 20:57
Ärende: Interrupt
Nej, RETI kan väl inte få avsluta den rutin, som ändrar interruptvek-
torn, den är ju inte orsakad av ett interrupt! RETI skall finnas i
den rutin, som körs från och med START. Det var dessutom ett
parentesfel i förslaget i inlägg 7507!
Om anrop av den vanliga rutinen för uppdatering av klockan görs, så
finns ju RETI i den! Här är ett förslag:
LINKRUT ORG .......... ; Kan exempelvis läggas i dosbuf7
PUSH HL
LD HL,START
LD 65494,HL ; Obs! utan parenteser!
POP HL
RET
START CALL 14952 ; Anropa gamla rutinen (som har RETI)
; Kolla med PEEK2(65494) att denna ad-
; ress är riktig på DIN dator!
DI
PUSH ...... ; Spara de register, som förstörs
PUSH ...... ; av nya rutinen
.... ; Lägg in den önskade rutinen
....
....
POP ...... ; Hämta tillbaka registren
POP ......
EI
RET
END LINKRUT
I programbanken finns programmet TIME som använder samma teknik, som
du tydligen tänker använda. Hämta hem det, studera det och disassemb-
lera det, så kanske du får ideer (eller ser varför ditt eget inte
fungerar).
Mvh Lars