-
12
pages
-
Français
-
Documents
Description
Architecture des Ordinateurset Systèmes d’Exploitation Cours n°5Le langage assembleur (2): Pile, Procédures.Les InterruptionsPh. Leray 3ème annéeL’assembleur 8086 : la pile= structure de « rangement » de données• définie dans un segment de mémoire particulier• fonctionnement LIFO (Last In, First Out) ex: pile d’assiettes• comment y accéder :– adresse du dernier élement posé : SS:SP– empiler : PUSH Reg16 (registre 16 bits)– dépiler : POP Reg16 (registre 16 bits)• « la pile augmente vers les adresses faibles »(PUSH : SP←←←←SP-2, POP : SP←SP+2)• Déclaration du segment de pile :Assume SS:PileDéclaration d’une pile de 1024Pile SEGMENT STACKdw 1024 dup (0)octets (=1 Ko) initialisés à 0Pile ENDSArchitecture des Ordinateurs et Systèmes d'Exploitation Ph. LerayL’assembleur 8086 : les procédures (1/5)• Déclaration d’une procédure :Moyenne PROC [NEAR/FAR]instructions– appel proche (near) : la procédure et le Moyenne ENDPprogramme sont dans le même segment de code– appel lointain (far) : la procédure et le programme sont dans deux segments de code différentsCall Moyenne• Appel de la procédure dans le programmeComment l’unité de traitement arrive-t-elle à retourner au programme principal àla fin de la fonction ?• Au moment de l’appel de la fonction, l’adresse de l’instructionsuivante est sauvegardée dans la pile :sauvegarde de IP– appel proche (near) : – appel lointain (far) : sauvegarde de CS puis de IP⇒ A la fin de la procédure, l ’UT ...
-
Publié par
-
Langue
Français