0% ont trouvé ce document utile (0 vote)
5 vues42 pages

Introduction Aux Systèmes D'exploitation II:: Présentation Du Langage Assembleur # Les Instructions de Pile#

Ce document présente le langage assembleur, en se concentrant sur le fonctionnement de la pile et les instructions associées comme PUSH et POP. Il décrit la structure des programmes assembleurs, les opérations de manipulation de la pile, ainsi que les sous-programmes et le passage de paramètres. Les concepts clés incluent la gestion de la mémoire, le mode LIFO de la pile, et les conventions d'appel.

Transféré par

serineissolah
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues42 pages

Introduction Aux Systèmes D'exploitation II:: Présentation Du Langage Assembleur # Les Instructions de Pile#

Ce document présente le langage assembleur, en se concentrant sur le fonctionnement de la pile et les instructions associées comme PUSH et POP. Il décrit la structure des programmes assembleurs, les opérations de manipulation de la pile, ainsi que les sous-programmes et le passage de paramètres. Les concepts clés incluent la gestion de la mémoire, le mode LIFO de la pile, et les conventions d'appel.

Transféré par

serineissolah
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Introduction aux Systèmes

d’Exploitation II

CHAPITRE II : PRÉSENTATION DU LANGAGE ASSEMBLEUR


# Les Instructions De Pile#

Ecole supérieure en Science et Technologies de l’Informatique et du Numérique (ESTIN)


2
Objectifs

Le but de ce cours est de :


 Comprendre le fonctionnement de la pile
 Comprendre le fonctionnement des instructions PUSH et POP
 Comprendre le fonctionnement des instructions PUSHA et POPA
3
La pile

 Programme assembleur séparé en plusieurs parties (segments)


 Trois segments en assembleur : .data, .bss et .text
 Segment .data : définition des variables initialisées (db, dw, dd, q )
 Segment .bss : définition des non-variables initialisées (resb, resw, resd, resq )
 Segment .text : contient le code du programme

 En plus de ces segments, le programme a accès à une pile mémoire (stack)


4
La pile

 La pile permet de stocker temporairement et de retrouver rapidement des informations


 Opérations désignées comme : empiler (stoker) et dépiler (retrouver)des informations
 La pile permet :
 La sauvegarde des registres
 Le passage des paramètres lors de l’appel de sous programme
 Le stockage de variables locales
 Le stockage des adresses de retour
5
La pile

 La pile fonctionne en mode LIFO (Last In First Out) mettre ou retirer des
informations se fait toujours à partir du dessus de la pile
 L’accès au contenu de la pile s’effectue en utilisant les registres SP (Stack
Pointer) et BP (Base Pointer)
 Le registre SP contient l’adresse du sommet de la pile, il désigne la tête de
la pile (le dernier élément ajouté)
 Le sommet de la pile représente la dernière information empilée
 Le registre BP contient l’adresse du bas de la pile, il désigne l’adresse du
fond de la pile
 La pile grandit vers le bas
6
Opérations de la manipulation de la pile

 Il existe 04 opérations permettant de manipuler la pile :


 Empiler une valeur (placer un élément au sommet de la pile)
 Dépiler une valeur (récupérer l’élément du sommet de la pile)
 Empiler les registres généraux et d’indices dans l’ordre : AX, CX, DX, BX, SP, BP, SI, DI
 Dépiler les registres généraux et d’indices
7
Empiler PUSH

Pour empiler une valeur source :


 PUSH source
 Revient à copier source au sommet de la pile
 Décrémente SP de 2 puis écrit à l’adresse SP la valeur
 Source : registre, adresse ou constante
 PUSH AX équivalant à Pile AX
 Exemple :
 PUSH BX ; empiler le contenu de BX
 PUSH [VAR] ; empiler la valeur contenue à l’adresse VAR
 PUSH 3 ; empiler la constante 3
8
Dépiler POP
9
PUSHA ou POPA
10
Example
11
PUSHA ou POPA
12
Example
13
Example
14
Example
15
Example
Introduction aux Systèmes
d’Exploitation II

CHAPITRE II : PRÉSENTATION DU LANGAGE ASSEMBLEUR


# Les Sous-Programmes#

Ecole supérieure en Science et Technologies de l’Informatique et du Numérique (ESTIN)


17
Objectifs
18
Sous-programmes
19
Déclaration d’un sous-programme
20
Exemple de la bibliothèque [Link]
21
Exemple de la bibliothèque [Link]
22
Appel d’un sous-programme
23
Retour d’un sous-programme
24
Schéma d’exécution
25
Exemple
26
Exemple
27
Eemple
28
Exemple
29
Exemple
30
Exemple
31
Exemple
32
Exemple
33
Passage de paramètres
34
Passage de paramètres par les registres
35
Passage de paramètres par la pile
36
Passage de paramètres par la pile
37
Passage de paramètres par la pile
38
Passage de paramètres par la pile
39
Passage de paramètres par la pile
40
Passage de paramètres par la pile
41
Convention d’appel du C
42
Écriture et appel de sous-programmes

Vous aimerez peut-être aussi