Probleme en assembleur

Fermé
keli1 Messages postés 18 Date d'inscription mercredi 26 janvier 2011 Statut Membre Dernière intervention 17 février 2011 - 17 févr. 2011 à 22:43
je veux créer un programme qui rederige l'interruption 23h sur une routine à lui,de façon à garder le controle des évenements meme lorsque CTRL+Break est actionnée.la nouvelle routine de gestion de l'interruption 23h se doit d'afficher à l'utilisateur un message lui demandant de confirmer l'arret d'un programme en cours d'éxécution,puis événtuellement de mettre fin proprement au programme.
voici le code mais lors de l'exécution le programme il ne marche pas correctement .pouvez vous m'aider svp?
Code :
.model small
.stack 100h
.386
.data
v dw 32000
vecteur dw ?
message1 db 'bonjour',10,13,'$'
message2 db 'souhaitez vous vraiment fermer le programme? (o/n)',10,13,'$'
num_int db "23h"
.code
main proc
mov ax,@data
mov ds,ax
mov cx,0

Afficher_Bonjour:	
mov ah,9
lea dx,message1
int 21h
inc cx
cmp cx,v
jne Afficher_Bonjour

Redirige_Int:
mov al,23h
mov ah,35h
mov [vecteur],bx
mov [vecteur+2],es
lea dx,Traiter_Ctrl_Break
mov al,23h
mov ah,25h
int 21h

Traiter_Ctrl_Break:
mov ah,9
lea dx,message2
int 21h

verif1:
mov ah,1
int 21h
cmp al,'o'
jne verif2
jmp Fin_Propre

verif2:
mov ah,1
int 21h
cmp al,'n'
jne verif1
jmp afficher_bonjour

Fin_Propre:
lea dx,retour
mov al,23h
mov ah,25h
int 21h

retour:
mov bx,[vecteur]
mov es,[vecteur+2]

mov ah,4ch
int 21h

main EnDP
EnD main;