La correction c ca
.model small
.stack 100h
.code
mov ah,35h
mov al,1
int 21h
push bx; sauvegarde du vecteur dans la pile
push es
mov ax,seg spit1
mov ds,ax
mov dx,offset spit1
mov ax,2501h
int 21h
pushf ; Mise à 1 de TF
pop ax
or ax,0100h
push ax
popf
mov ch,1 ; Programme à débugger
mov cl,2
mov dh,3
mov dl,4
pushf ; Mise à 0 de TF
pop ax
and ax,0EFFh
push ax
popf
pop ds ; reprise de l'ancien vecteur dans le pile
pop dx
mov ax,2501h
int 21h
mov ah,4ch
int 21h
; Procédure d'affichage en binaire
proc AffBin
push ax
push bx
push cx
push dx
mov cl,8
ABboucle:
mov dl,'0'
shl bl,1
Jnc ABzero
mov dl,'1'
ABzero:
mov ah,02
int 21h
sub cl,1
Ja ABboucle
pop dx
pop cx
pop bx
pop ax
ret
endp
spit1 proc ; Sous programme d'interruption
push bx
mov bl,cl
call AffBin
call espace
mov bl,ch
call AffBin
call espace
mov bl,dl
call AffBin
call espace
mov bl,dh
call AffBin
call ligne
pop bx
iret
endp
ligne proc
push ax
push dx
mov ah,2
mov dl,0Ah
int 21h
mov dl,0Dh
int 21h
pop dx
pop ax
ret
endp
espace proc
push ax
push dx
mov ah,2
mov dl,20h
int 21h
pop dx
pop ax
ret
endp
end