2017-03-03 4 views
2

La plupart du code assembleur est par les instructions se terminent suivantesQue signifie "MOV AH, 4CH" dans le langage d'assemblage?

MOV AH, 4CH 
INT 21H 

Qu'est-ce que cela signifie par "MOV AH, 4CH"?

+2

Copie possible de [Que signifie "int 21h" dans Assembly?] (Http://stackoverflow.com/questions/6293699/what-does-int- 21h-mean-in-assembly) –

+0

Ici, j'ai demandé "MOV AH, 4CH", pas INT 21H. "INT 21H" vient juste de le suivre. –

Répondre

3

DOS interruption int 21/4Ch est EXIT - METTRE FIN AVEC CODE DE RETOUR, le contenu de al est utilisé comme code de retour et le processus est terminé. La documentation est livré avec la note suivante:

À moins que le processus est son propre parent (voir # 01378 [Décalage 16 h] à AH = 26h), tous les fichiers ouverts sont fermés et toute la mémoire adressable par le processus est libéré. Tous les verrous de fichiers réseau doivent être supprimés avant d'appeler cette fonction

2

Cela signifie stocker la valeur hexadécimale 4C dans le registre AH, puis appeler l'interruption identifiée par le nombre hexadécimal 21. Apparemment, certains systèmes d'exploitation (probablement MS-DOS, ou plus probablement quelque chose qui émule MS-DOS) interceptent les invocations pour interrompre 21h et exécuter une fonction dépendant du système d'exploitation qui est identifiée par la valeur du registre AH. Dans MS-DOS, l'interruption 21h fonction 4ch provoque la fin du processus en cours.