Vous êtes sur la page 1sur 9

R 1.

03 :
Introduction à
l’architecture des
ordinateurs
CM3 : Appel de procédures

LP – BUT INFORMATIQUE

LICENCE PROFESSIONNELLE – BACHELOR UNIVERSITAIRE DE


TECHNOLOGIE INFORMATIQUE

INTRODUCTION A L’ARCHITECTURE DES ORDINATEURS

R 1.03 PILE 1
Zone de rangement de données
◦ Zone mémoire spécialisée
◦ Fonctionnement LIFO Last In First Out

3 registres pour repérer la zone mémoire de Pile


Registre de la ◦ Sommet de Pile: SP (Stack Pointeur)
pile ◦ Base de la Pile: BP (Base Pointeur)
◦ Dans le segment SS (Stack Segment)

R 1.04 PILE 2
Instructions pour accéder à la pile
◦ PUSH <registre> : Empile le contenu du registre sur le sommet de
la pile
◦ POP <registre> : dépile le contenu du sommet de la pile dans le
registre

Impact sur les registres


Manipulation de ◦ SP <- SP – taille du registre
◦ BP identique
la pile
◦ Après un PUSH BX qui contient 1234 :

R 1.03 PILE 3
Réservation de la pile :
◦ PILE SEGMENT STACK
◦ DW 256 DUP(?)
◦ Base:
◦ PILE ENDS

Instructions :
Registres MOV AX, 1234 AX=1234
PUSH AX BX= ?

POP BX BX=1234

R 1.03 PILE 4
Un sous-programme est un bout de code qui
◦ est appelé par un programme principal
◦ se situe en mémoire à une adresse qui est souvent dans une
autre zone de code que le programme appelant

Sous-
Programmes

R 1.04 PILE 5
Avant appel
CS = Segment code
IP = @CALL SousProg
Etat de la pile

call SousProgramme
CS = Segment code
IP = @ SousProg
Etat de la pile

Rôle de la pile

ret
CS = Segment code
IP = @ retourappelant
Etat de la pile

R 1.04 PILE 6
2 méthodes de passage de paramètres :

◦ Par registres
◦ Paramètres déposés avant l’appel
◦ Paramètres de sortie rangés dans des registres

Paramètres du ◦ Par la pile


◦ Paramètres empilés avant l’appel par le
sous-programmes Programme Principal
◦ Résultats de sortie rangés dans la pile par le
Sous-Programme
◦ Résultats récupérés sur la pile par le
Programme Pricipal

R 1.03 PILE 7
Programme Principal

Exemple par
registres
Sous-Programme

R 1.03 PILE 8
Programme Principal

Sous-Programme
Exemple par la pile

R 1.03 PILE 9

Vous aimerez peut-être aussi