bonjour,
j'ai une question à propos de la fin d'un programme assembleur:
qu'elle est l'instruction qui fait que le programme se termine proprement c'est à dire:fermeture eventuelles de fichiers,libération de la mémoire etc Merci
bonjour,
j'ai une question à propos de la fin d'un programme assembleur:
qu'elle est l'instruction qui fait que le programme se termine proprement c'est à dire:fermeture eventuelles de fichiers,libération de la mémoire etc Merci
C'est propre à chaque système d'exploitation, et ça dépend donc de celui que tu utilises.
Si tu es sous Unix, c'est (en général) l'appel système #1 via « int 80h », ou via la fonction exit() bufferisée par la libc. Sous Windows, même chose : la fonction C « ExitProcess() » appelée avec la macro INVOKE.
Mais si, comme c'est probable, tu programmes sous D.O.S. en mode 16 bits (même si tu le fais depuis Windows), c'est la fonction 4Ch de l'interruption 21h. Ce numéro va dans AH et le code de retour dans AL. Donc :
Code asm : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 mov ax,4c00h int 21h
re,
donc mov ah,4c00h int21h restore le system à nouveau c'set à dire libére la memoire et tt?
La fonction 4Ch de l'interruption 21h est apparue avec le version 2 du DOS.
Sous DOS 1.x, les programmes sont obligés de fermer les fichiers un à un via la fonction 10h avant de se terminer par la fonction 0 ou l'interruption 20h avec CS pointant le segment PSP. C'est pourquoi, une application bien conçue veille à vérifier la version du DOS sur laquelle elle tourne grâce à la fonction 30h de l'interruption 21h (qui renvoie 0 en AL sous DOS 1.x car inexistante).
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager