29
 Le Microprocesseur 8086 I. Architecture : Comme nous l’avons jà vue, un microprocesseur exécute un programme en répétant les cycles suivan ts : Cycle de recherche. Cycle d’exécution. Dans les microprocesseurs précédents, ces ét ap es sont effec tu ées une fa çon sé qu entielle.

Le Microprocesseur 8086

Embed Size (px)

Citation preview

Le Microprocesseur 8086

I. Architecture :Comme nous lavons dj vue, un microprocesseur excute un programme en rptant les cycles suivants :Cycle de recherche. Cycle dexcution.

Dans les microprocesseurs prcdents, ces tapes sont effectues une faon squentielle.

Le Microprocesseur 8086Alors que larchitecture du 8086 ; pour effectuer les mmes tapes, alloue deux units de traitement : Les deux units peuvent fonctionner de faons indpendantes. Pendant que lunit de commande dcode linstruction prsente dans le registre dinstruction, lunit dinterface avec le Bus recherche linstruction suivante en mmoire.Unit dexcution EU. Unit dinterface avec le Bus BIU.

Le Microprocesseur 8086

Le Microprocesseur 80861- Unit dexcution : EU Cette unit reoit les instructions de la file dattente, les dcode et les excute. Elle contient une unit arithmtique et logique 16 bits relis au indicateur dtat de CPU, un dcodeur dinstruction et elle manipule aussi les registres gnraux du CPU.

Le Microprocesseur 80862- Unit dinterface avec le Bus : BIU Son travail principal est de calculer les adresses relles sur 20 bits, et de charger le file dattente dinstruction. Cette unit anticipe la recherche des instructions en mmoire. Ce mcanisme danticipation permet dliminer les temps mort de recherche de linstruction suivante en mmoire.

Le Microprocesseur 8086Registres gnraux Pointeurs Registres de segments

Le Microprocesseur 80863- Les registres gnraux :AX, BX, CX, DX, SP, BP, SI, DI Ils servent contenir les oprandes arithmtiques et logiques. Les registres AX, BX, CX et DX peuvent tre considres comme des registres double de 8bits et peuvent donc tre utilis sur 8 ou 16 bits.AX BX CX DX

Le Microprocesseur 8086Certains des registres gnraux interviennent implicitement selon les instructions : AX et DX : interviennent pour toutes instructions de multiplication, de division et dentre/sortie. CX : est forcement utilis pour toutes les instructions de la boucle, de dcalage et de rptition.

Le Microprocesseur 8086BX et BP : ont le titre de registres de bases, car ils sont souvent dsigns pour contenir ladresse de base dune structure de donnes en mmoire. (Exemple : ladresse de base dun tableau). SI et DI : sont appeles registres dindex puisquils ont souvent pour objet, de contenir un index qui sincrmente au fur et mesure de lexamen dun structure de donnes. SP : il a la fonction classique de pointeur de pile.

Le Microprocesseur 80864- Les registres de segments : CS, DS, SS, ES Les units centrales de la famille 8086 permettent un programme en cours dexcution, daccder immdiatement 4 segments de la mmoire. Les registres de segment sont utiliss pour identifier ces quatre segments (Le registre de segment pointe sur lorigine du segment).

Le Microprocesseur 8086CS : registre de segment de code. DS :registre de segment de donnes. ES : registre de segment de donnes extra. SS :registre de segment de pile.

Le Microprocesseur 8086

Le Microprocesseur 80865- Le registre dindicateur :a) Les indicateurs dtats: CF : Bit de retenue : indique quune retenue sest propage partir du bit le plus significatif dun oprande 8bits ou 16bits la suite de lexcution dune opration arithmtique. Dpassement de capacit de laccumulateur en cas daddition, passage en dessous de zro pour la soustraction. PF : Indicateur de parit : prend la valeur 1 si le rsultat dune opration contient un nombre pair de 1.

Le Microprocesseur 8086AF : Indicateur de retenue auxiliaire : prend la valeur 1 pour indiquer quune retenue sest propage partir du bit 3 (utiliser DCB). ZF : bit de zro : prend la valeur 1 si le rsultat dune opration est nul.

Le Microprocesseur 8086SF : bit de signe : prend la valeur 1 si le bit le plus significatif du rsultat dune opration est 1. OF : bit de dbordement de capacit : utilis en arithmtique sign, indique que le rsultat dune opration arithmtique est sortie de la gamme du systme de numration sign.

Le Microprocesseur 8086b) Les Indicateurs de commandes :TF : bit de mode pas pas : positionn 1, impose au processeur le mode dexcution en pas pas dans un but daide la mise au point des programmes. DF : bit de direction : DF contrle le sens dvolution dans une chane de donne. Si DF=1, il y a auto-dcrmentation des registres SI et DI. Et si DF=0, il y a auto-incrmentation dans ces registres.

Le Microprocesseur 8086IF : bit de validation des interruptions : positionn 1, les interruptions externes du type INTR sont autorises.

Le Microprocesseur 8086II. Notion de segment :Un segment est un espace mmoire pouvant aller jusqu 65536 octets (64 koctets). 1- Segment de code : contient le code excutable du programme courant. Lorigine de ce segment sera place dans le registre de segment CS. CS : IP pointe toujours linstruction suivante excuter.

Le Microprocesseur 80862- Segment de donne : contient toutes les donnes courante du programme. Cest le segment source lors dune opration de traitement de chane de donnes. Lorigine de ce segment sera place dans le registre de segment DS. Le registre index combin avec ce registre cest le SI. DS : SI pointe toujours llment de la chane source (pour le cas des instructions de traitement de chane ).

Le Microprocesseur 80863- Segment de donne extra : cest le segment destination lors dune opration sur une chane de donne. Lorigine de ce segment est plac dans ES. Le registre indexe combin avec celui-ci est le DI. ES : DI pointe toujours llment de la chane destination (pour le cas des instructions de traitement de chane ).

Le Microprocesseur 80864- Segment de pile : contient toutes les informations stockes dans la pile. Lorigine de ce segment est place dans le registre SS. A ce registre de segment sera associs le pointeur de pile SP. SS : SP pointe toujours le dernier lment empil.

Le Microprocesseur 8086III. Adressage de microprocesseur 8086 :1- Les types dadresses : a) Adresse relle : ladresse relle est obtenue en dcalant le registre de segment de 4 positions binaires vers la gauche et en lui ajoutant loffset (dplacement). Le rsultat sera une adresse physique en mmoire sur 20 bits.

Le Microprocesseur 8086b) Adresse effective : cest le dplacement relatif au dbut de segment physique (offset). c) Adresse logique : cette adresse est formule sur un double mot (1mot= 2 octets = 16bits). Le premier mot reprsente le segment. Le second mot, cest ladresse effective (offset). (Segment : offset) Exemple, CS:IP.

Le Microprocesseur 80862- Les modes dadressage :

a) Adressage immdiat : loprande trouvedans la deuxime mot de linstruction.BX4500 Exemple : MOV BX, 4500 ;

b) Adressage registre : loprande se trouvedans un registre.Exemple : MOV AX, BX ; AXBX

Le Microprocesseur 8086c) Adressage direct : le dplacement quiExemple : MOV AL, [200h]

permet daccder loprande est contenu dans linstruction.

d) Adressage indirect : le dplacement quiExemple : MOV AL, [BX]

permet daccder loprande est contenu dans lun des registres SI, DI, BX, BP.

Le Microprocesseur 8086e) Adressage Bas : Le dplacement quipermet daccder loprande est gale la somme du dplacement mentionn dans linstruction et du contenu du registre de base BX ou BP. permet daccder loprande est gale la somme du dplacement mentionn dans linstruction et du contenue de registre dindex de SI ou DI.

Exemple : MOV CL, [BX+40]

f) Adressage Index : Le dplacement qui

Exemple : MOV AL, [SI+200h].

Le Microprocesseur 8086g) Adressage Bas Index : Le dplacementqui permet daccder loprande est gale la somme de contenue de registre de base, de contenue de registre dindex et de dplacement mentionn dans linstruction. Ce mode dadressage est surtout intressant pour accder llment dune matrice o un tableau bidimensionnel.

Exemple : MOV AL, [BX+SI+40h].

Le Microprocesseur 8086h) Adressage de Chane : Ladressage dechane fait implicitement appelle aux index SI pour la source et DI pour le destinataire.

Exemple: MOVSB MOVSW

Le Microprocesseur 8086i) Adressage des Entres Sorties : Ladressage sefait de deux manires : Adressage direct : (utilis si adr.port