0% ont trouvé ce document utile (0 vote)
2 vues9 pages

CH1 Introduction Et Rappels

Le document traite des architectures des ordinateurs, en se concentrant sur la pile, son organisation LIFO et ses modes d'utilisation. Il décrit les instructions de manipulation de la pile, ainsi que les appels et retours de procédures, en détaillant les actions automatiques dans la pile. Enfin, il aborde l'utilisation de la pile comme mémoire pour les traitements récursifs et le passage de paramètres aux procédures.

Transféré par

belhocinerayan
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)
2 vues9 pages

CH1 Introduction Et Rappels

Le document traite des architectures des ordinateurs, en se concentrant sur la pile, son organisation LIFO et ses modes d'utilisation. Il décrit les instructions de manipulation de la pile, ainsi que les appels et retours de procédures, en détaillant les actions automatiques dans la pile. Enfin, il aborde l'utilisation de la pile comme mémoire pour les traitements récursifs et le passage de paramètres aux procédures.

Transféré par

belhocinerayan
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

L2 ISIL SECTION A

Chapitre 1

ARCHITECTURES DES ORDINATEURS II


Introduction et Rappels

1. Introduction et Rappels (2 séances)


• La pile ( Concept et utilisations)
•Instructions de manipulation de la pile (PUSH et POP)
•Intérêt de la pile dans la programmation modulaire

ARCHI 2 2021/2022 L2 ISIL section A Slide N° 1 Mr M.S AYACHE


RAPPEL : Schéma synoptique d’un micro-ordinateur

ARCHI I
Mémoire cache
Horloge SRAM

µP $ MC
DRAM

ARCHI II
Circuits d’interface

ARCHI 2 2021/2022 L2 ISIL section A Slide N° 2 Mr M.S AYACHE


LA PILE (STACK):
La pile est une partie de la mémoire RAM dont l’organisation est LIFO. La pile est
caractérisée par un sommet de pile et ses adresses évoluent contrairement aux
adresses de la mémoire traditionnelle . Pour le microprocesseur 8086, tous les accès à
la pile se font sur 16 bits et l’adresse physique du sommet de la pile est SS x 16 + SP.

Mémoire Centrale
15 0

Sens de dépilement
Sens d’empilement

SS x 16 + SP Somment de la pile

Dernier élément empilé

ARCHI 2 2021/2022 L2 ISIL section A Slide N° 3 Mr M.S AYACHE


MODES D’UTILISATION DE LA PILE: 2 modes d’utilisation
a) La pile en tant que Pile
b) La pile en tant que mémoire
a) La pile en tant que pile
Dans ce mode d’utilisation, les accès à la pile sont tous séquentiels. Deux types d’utilisation sont possibles:
Utilisation explicite et Utilisation implicite.

a.1 Utilisation explicite:


sert à empiler ou dépiler explicitement des données de la pile. Les instructions qui permettent une telle
utilisation sont:

PUSH SRC : empiler POP DST : dépiler


PUSHF : empiler flags POPF : dépiler flags

ACTIONS:

PUSH SRC SP  SP – 2
[SS : SP]  SRC ; l’argument SRC doit être sur 16 bits

PUSHF SP  SP – 2
[SS : SP]  PSW

POP DST DST  [SS : SP] ; l’argument DST doit être sur 16 bits
SP  SP + 2

POPF PSW  [SS : SP]


SP  SP + 2

ARCHI 2 2021/2022 L2 ISIL section A Slide N° 4 Mr M.S AYACHE


EXEMPLE:
adresse 15 0

mov ax, 0400h


mov ss , ax
mov sp , 0100h
mov bx , 1234h 0400:00FC 0400 Sommet de la pile
push bx
0400: 00FE 1234
push ax
. 0400:0100
.
pop ax a) après push
pop bx

adresse 15 0

ax = 0400H

0400:00FC 0400
bx= 1234H
0400: 00FE 1234

0400:0100 Sommet de la pile

b) après pop
ARCHI 2 2021/2022 L2 ISIL section A Slide N° 5 Mr M.S AYACHE
a.2 Utilisation implicite:
Ce type d’utilisation est rencontré dans les appels et retours des procédures NEAR et FAR et dans les appels et
retours des interruptions logicielles et matérielles.

Appels et Retour des procédures (on ne traite que le cas des appels directs)
Type d’appel Syntaxe Action automatique dans la pile
Intrasegment CALL NEAR PTR nom_proc SP  SP – 2
[SS : SP]  IPretour

Intersegment CALL FAR PTR nom_proc SP  SP – 2


[SS : SP]  CSretour
SP  SP – 2
[SS : SP]  Ipretour

Type de Retour Syntaxe Action automatique dans la pile


intrasegment RET IP  [SS : SP]
SP  SP + 2

RET E.C même chose que ci-dessus


SP  SP + E.C

intersegment RET IP  [SS : SP]


SP  SP + 2
CS  [SS : SP]
SP  SP + 2

RET E.C même chose que ci-dessus


SP  SP + E.C
*** E.C : Expression Constante

ARCHI 2 2021/2022 L2 ISIL section A Slide N° 6 Mr M.S AYACHE


SYNTAXE DE DECLARATION DES PROCEDURES

nom_Procédure PROC attribut

-
-
- corps de la procédure
-
-
RET
nom_Procédure ENDP

Attribut : NEAR ou FAR (par défaut Near)

REMARQUES:

 SI l’attribut est NEAR , la procédure est intrasegment , ceci signifie que l’appel et la procédure doivent être dans le même code
segment et donc il n’y a que IP qui change.

 SI l’attribut est FAR , la procédure est intersegment , ceci signifie que l’appel et la procédure sont dans des code segments
différents et donc IP et CS changent.

 L’action de l’instruction RET dépend de l’attribut de la procédure.

 Même si n-1 appels à une procédure sont intrasegment et un appel à cette même procédure est intersegment, l’attribut de
cette procédure doit être déclaré FAR.

ARCHI 2 2021/2022 L2 ISIL section A Slide N° 7 Mr M.S AYACHE


EXEMPLE:
adresse 15 0
Programme Principal
.
.
mov ax, 0400h
mov ss , ax 0400:00FC 0025 Sommet de la pile
mov sp , 0100h
. 0400: 00FE 3500
IPproc  0600H
. 0400:0100 Csproc  8000H
3500:0020 CALL FAR PTR usthb
.
. a) effet du CALL

adresse 15 0
Procédure intersegment
IPretour = 0025H
usthb PROC FAR
8000:0600 .
. 0400:00FC 0025 CSretour = 3500H
.
RET 0400: 00FE 3500
usthb ENDP 0400:0100 Sommet de la pile

b) effet du RET

ARCHI 2 2021/2022 L2 ISIL section A Slide N° 8 Mr M.S AYACHE


b) La pile en tant que mémoire
Ce type d’utilisation permet de voir la pile comme étant une partie de la mémoire DRAM, et en
conséquence, de pouvoir effectuer des accès directs dans cette structure de données qui est la pile.
Pour ce faire, on utilise le registre BP . Ce dernier permet d’accéder directement à n’importe quel
espace dans le stack segment y compris l’espace de la pile.
Ce type d’utilisation trouve son intérêt dans les traitements récursifs ainsi que dans le passage des
paramètres aux procédures.

EXEMPLE

Programme principal Procédure intrasegment adresse 15 0


.
.
. archi PROC NEAR
mov ax , 0800H mov bp , sp
mov ss , ax mov cx , [bp+4] 0800:01FA IPretour Sommet de la pile
mov sp , 0200H mov bx , [bp+2]
mov si, 1234H . 0800:01FC 6789
.
mov di , 6789H . 0800: 01FE 1234
push si ret
push di archi ENDP 0800:0200
call near ptr archi
.
.
. BP  01FAH
cx  1234H
bx  6789H
ARCHI 2 2021/2022 L2 ISIL section A Slide N° 9 Mr M.S AYACHE

Vous aimerez peut-être aussi