• Aucun résultat trouvé

Chaie 23 Deièe i i   a

N/A
N/A
Protected

Academic year: 2022

Partager "Chaie 23 Deièe i i   a"

Copied!
6
0
0

Texte intégral

(1)

Dernières instrutions

Nous allonspasseren revue dans ehapitrelesinstrutionsdu 8086que nousn'avonspas

enorerenontrées.

(2)

23.1 Adressage indexé pour les tableaux

Avel'adressage indexél'instrutionspéie àlafoisunregistred'indexetuneonstante,

appeléedéplaement(displaement enanglais).Leontenuduregistred'indexest ajoutéàla

onstante,lasommeonstituantledéalagedel'adresse del'opérande.

Cettetehniqued'adressagepermetd'aédersuessivementauxélémentsd'unblo,appelé

tabledanseontexte:laonstanteest l'adressedudébutdelatableetleregistred'indexest

utilisépouraédersuessivementauxdiérentsélémentsdelatable.Ceirequiertévidemment

ladisponibilitéd'instrutionsd'inrémentationetdedérémentationduregistred'index.

Combiné ave les adressages préédents, ei donne une grande variété de formation de

l'adresseeetiveAEdansunsegment.Cetteadresseest lerésultatdel'additiondudéplae-

ment,quipeutêtreodésurunmot(entiernaturel)ouunotet(entierrelatif),d'unregistrede

base (BP ouBX)et d'unregistreindex(SI ouDI),haundees troistermes étantfaultatif,

equi donne16possibilitésommelemontreletableausuivant:

Adresseeetive parrapportausegment

DEP DS

[ BP ]

interdit

[ BX ]

DS

[ SI ]

DS

[ DI ]

DS

[ BP ]

+DEP SS

[ BX ]

+DEP DS

[ SI ]

+DEP DS

[ DI ]

+DEP DS

[ BP ] + [ SI ]

SS

[ BP ] + [ DI ]

SS

[ BX ] + [ SI ]

DS

[ BX ] + [ DI ]

DS

[ BP ] + [ SI ]

+DEP SS

[ BP ] + [ DI ]

+DEP SS

[ BX ] + [ SI ]

+DEP DS

[ BX ] + [ DI ]

+DEP DS

(3)

Casdulangagemahine.-La désignationdel'adresseeetives'eetuegrâe àl'otetmaintes

foisrenontrédanslesinstrutions:

| mod reg r/m |

maispasenoredérit omplètement.Nousavonsvuqueregdésigneleregistre(oulepremier

registre) del'instrution. Les termes modet r/mpermettent despéier l'adresseeetive on-

formémentautableausuivant:

mod=00

r/m AE

000

[ BX ] + [ SI ]

001

[ BX ] + [ DI ]

010

[ BP ] + [ SI ]

011

[ BP ] + [ DI ]

100

[ SI ]

101

[ DI ]

110 DEP(16bits)

111

[ BX ]

mod=01ou10

r/m AE mod

01 10

000

[ BX ] + [ SI ]

+

001

[ BX ] + [ DI ]

+ DEP DEP

010

[ BP ] + [ SI ]

+

011

[ BP ] + [ DI ]

+ 8bits 16bits

100

[ SI ]

+

101

[ DI ]

+

110

[ BP ]

+

111

[ BX ]

+

(4)

23.2 Instrutions d'éhange

Langagesymbolique.-Le8086dispose,enplusdesinstrutionsdetransfert simpledes données

(àsavoirMOV),d'instrutionsquiéhangententreeuxlesontenusdedeuxemplaements.Ces

instrutionssontreprésentéespar:

XCHG but, soure

pourl'anglaiseXCHanGe.Bienentendu,pouretteinstrution,iln'estpastrèsutilededistinguer

entrebutet sourepuisquelesdeuxopérandesjouentunrlesymétrique.

Langagemahine.-L'éhangepeutavoirlieuentreregistresouregistreetasemémoire:

-1

o

)Unéhangeentrel'aumulateurAX etunregistre(16bits)est odésurunotetpar:

| 100 10reg |

-2

o

)Sinon,l'éhangeestodésurdeuxàquatreotetspar:

| 1000 011w | mod reg r/m | | |

23.3 Pas d'opération

Langagesymbolique.-L'instrution :

NOP

(pourl'anglaisNoOPeration)nefaitrien.

Intérêt.- Cette instrution peut être utilisée pour ralentir volontairement unprogramme. Elle

peutégalementêtreutiliséelorsdudéveloppementdeprogrammespourréserverdelaplae.

Langagemahine.-L'instrutionNOPestodéesurunotetpar1001 0000b,soit90h.

23.4 Arrêt du programme

Langagesymbolique.-L'instrution :

HALT

interromptlesopérationsdumiroproesseurjusqu'àequ'uneréinitialisationouuneinterrup-

tionseproduisent.

(5)

23.5 Tables de tradution

Introdution.-Une opérationourantesurleshaînesdearatèresonsisteàremplaeruna-

ratèreparunautresuivantunetabledetradution.Lesonepteursdu8086ontimplémenté

uneinstrutionpourfailiter ettetradution.

Langagesymbolique.-L'instrution:

XLAT

(pour l'anglais tranSLATe)remplae le ontenu atuel duregistreAL parl'otet d'un tableau

de256otetsd'indiespéié parAL.L'adressedudébutdelatableest indiquéeparleouple

deregistresDS:BX.

Remarque.-L'instrution XLATestéquivalente àl'instrutionillégalesuivante :

MOV AL,[BX + AL℄

Langagemahine.-L'instrutionXLATestodéesurunotetpar| 1101 0111 |,soitD7h.

(6)

23.6 A

AAA

AAD

AAM

AAS

CBW

CWD

ESC

INTO

JCXZ

LAHF

LDS

LEA

LES

LOCK

SAHF

TEST

WAIT

23.7 Historique

L'adressageindexé n'existe pas sur le 8080. Il aété ajouté sur le Z80 en même temps que

deuxregistresd'index,dénommésIXetIY.

Références

Documents relatifs

le nez offre des arômes de petits fruits rouges avec des

Nous avons vu, pour l'instant, omment le miroproesseur a aès aux registres et à la mé-..

(pour Integer DIVision), où le dividende de 16 bits (resp. 32 bits) est plaé dans l'aumulateur. AX (resp. AX et DX, e dernier ontenant le mot de poids fort) et le diviseur de 8

Langage mahine.- Uun sous-programme peut se trouver dans le même segment que le programme. qui l'appelle : la valeur du registre IP est alors hangée mais il est inutile de

de la routine de servie de l'interruption se trouve à l'adresse 4 × n pour le type n : les deux otets de IP se trouvent à l'adresse 4 × n et les deux otets de CS à l'adresse 4 × n +

Pour une valeur se trouvant à l'adresse (de mémoire vive) désignée par le ontenu d'uno. registre (de seize bits, puisque 'est la taille du déplaement), on indique le nom de

Cei doit être eetué à partir d'une page pour laquelle les adresses virtuelles sont. égales aux adresses physiques ( hh identity mapped ii

 Titres de participation : Les titres représentant des parts de capital dans les entreprises dont la possession durable est estimée utile à l’activité de