Pb de newb

Signaler
Messages postés
50
Date d'inscription
lundi 30 juin 2003
Statut
Membre
Dernière intervention
16 mai 2008
-
Messages postés
50
Date d'inscription
lundi 30 juin 2003
Statut
Membre
Dernière intervention
16 mai 2008
-
Quel est l'instruction pour quitter un programme en cours, (pour des .com en 16 bits)?

Merci d'avance ;)

5 réponses

Messages postés
59
Date d'inscription
dimanche 15 décembre 2002
Statut
Membre
Dernière intervention
2 juin 2004

Il existe deux solutions selon l'application
soit tu utilise l'instruction 'ret' si tu n'as pas touché a ta pile, c une solution simple pour les petit programme (ex:demo 4 kilo)
la deuxième solution plus utilisé consiste à utilisé une intéruption du dos fonction 4Ch de l'int21h qui demande en entrée un code d'erreur sur 8 bits (0 si ya pas de probleme sino code d'erreur definit par toi-meme)
gene rale ment on code ainsi :

Mov AX,4C00h
Int 21h

ou comme ceci :

Mov AH, 4Ch
Mov AL, CodeErreur
Int 21h

ps : il existe d'autre solution mais elle sont deconseillé.
pps : la première solution est a utilisé avec precaution et quand on ne peut pas faire autrement.

bon dev'
%-6 TangiX %-6
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
tu peux aussi finir par int 20h
( ancienne interruption dos pour terminer programme )
par contre: pas de retour de valeur

logiquement, si ta pile est clean, tu peux aussi finir par un ret
pourquoi:
quand ton programme .com commence
sp ( stack pointer ) = 0000
apres le ret, l'instruction executée est int 20h

ax = 4c00h
int 21h

ca te permet de recuperer une valeur de retour dans al.
dans un batch (.bat), cette valeur est utilisable avec ERRORLEVEL
Messages postés
50
Date d'inscription
lundi 30 juin 2003
Statut
Membre
Dernière intervention
16 mai 2008

Merci, ca marche impec :)
Messages postés
50
Date d'inscription
lundi 30 juin 2003
Statut
Membre
Dernière intervention
16 mai 2008

Merci, ca marche impec :)
Messages postés
50
Date d'inscription
lundi 30 juin 2003
Statut
Membre
Dernière intervention
16 mai 2008

Merci, ca marche impec :)