J'ai un problème avec le fichier TSR com pour DOS. Il devrait définir un nouveau gestionnaire sur une interruption 21 ', se terminer et rester résident. Le nouveau gestionnaire doit transférer le contrôle à un ancien gestionnaire d'interruption 21h. Je sauvegarde son vecteur d'interruption, mais je n'ai aucune idée de comment l'appeler correctement. Voici un programme:Assemblage sous DOS (TASM), création de TSR avec un nouveau gestionnaire sur int 21h
.model tiny
.data
old_int21h dw ?, ?
.code
org 100h
start:
;saving old interrupt vector
mov ax, 3521h
int 21h
mov [old_int21h], bx
mov [old_int21h + 2], es
;setting new interrupt vector
cli
push ds
push cs
pop ds
lea dx, myint21h
mov ax, 2521h
int 21h
pop ds
sti
; TSR
lea dx, start
int 27h
myint21h proc
; doing something
; want to transfer control to an old interrupt 21h handler here. How?
iret
myint21h endp
end start
Quelle version de DOS? –
Utilisation de dosbox avec DOS v.5.00 – gukoff