Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
2.Rejestry
25
•
2.4.
•
gdziedokonywanesąoperacjenablokachpamięci,kopiowanie,porównywanie,prze-
szukiwanie,czyszczenie.
RejestrSS–wskazujepoczątek64KBblokupamięci,zwanegosegmentemstosu.
Wszystkierozkazy,któreniejawnieużywająrejestruSP–odkładanienastos,zdejmowa-
niezestosu,wywołaniaipowroty–używająsegmentustosu,ponieważrejestrSPjest
zdolnytylkodoadresowaniapamięciwobszarzesegmentustosuSS.RównieżrejestrBP
–oczymbyłajużmowa–odnosisiędosegmentustosu;stądteżrejestrBPjestużywany
doadresowaniaparametrówizmiennychzawartychnastosie.
Wskaźnikrozkazów
RejestrIP–nazywanyjestwskaźnikiemrozkazówizawierazawszeoffsetpamięci,
wktórymzawartyjestnastępnyrozkazdowykonania.Bazowyadressegmentukoduza-
wartyjestwrejestrzeCS.Pełnyadreslogicznywykonywanegorozkazuwskazywanyjest
więcprzezparęrejestrówCS:IP.
Gdyjedenrozkazjestwykonywany,wskaźnikrozkazówustawianyjestdonastępnego
adresupamięci,podktórymznajdujesięrozkazdowykonania.Zazwyczajnastępnymrozka-
zemwpamięcijestwłaśnierozkaz,którybędziewykonywany.Jednakżeniektórerozkazy,
takiejakrozkazywywołaniaiskoku,mogąspowodowaćrozgałęzieniewwykonywaniukodu
programu,atymsamymwrejestrzeIPniewystąpikolejnawartośćoffsetuwskazującanastęp-
nyrozkazdowykonania.
2.5.
•
Rejestrznaczników
Rejestrznaczników(rejestrflagowy)–FLAGSjestczternastymiostatnimrejestrem
procesora8086.Rejestrtenjestzbioremposzczególnychbitówkontrolnych,zwanych
znacznikami(flagami),którewskazująwystąpienieokreślonegostanu.Znacznikimogą
byćwykorzystywanezarównoprzezprocesor,jakteżprogramistę.Niedoświadczony
programistaniepowiniendokonywaćjakichkolwiekzmianstanuznacznikówrejestru
znaczników(wdodatkachnakońcuksiążkizamieszczonoważnerysunkiitabele).
•
16-bitowyrejestrznacznikówzawieradziewięćznaczników,którymprzypisanookreślo-
neznaczenie:siedemznacznikówtegorejestruniejestwykorzystanych.Rejestrznaczni-
kówmożesłużyćzarównoprocesorowi,jakiprogramiście.
Wprocesorach8086/88wyróżniasię2grupyznaczników:znacznikistanuiznaczniki
kontrolne.Znacznikistanuinformująocechachwynikupowykonaniuoperacjiarytmetycznej
lublogicznej.Znacznikikontrolnesterująpracąprocesora.Znajomośćposzczególnegobitu
wrejestrzeznacznikówjestbardzoistotnąsprawądlaprogramisty,dlategoteżzostanąone
opisanedosyćszczegółowo,główniewkontekścieoperacjiarytmetycznychilogicznych.
•
Znacznik(flaga)przeniesienia,CF–bit0,przyjmujewartość1wówczas,gdydodawanie
powodujeprzeniesienielubgdyodejmowaniepowodujepożyczkę,wprzeciwnymrazie
mawartość0.ZnacznikCFzawieratakżewartośćprzesuniętegolubprzesuniętegocy-
kliczniebituwychodzącegopozarejestrlubkomórkępamięciorazwynikoperacjipo-
równania.ZnacznikCFsłużyteżjakowskaźnikdlaoperacjimnożenia.
•
Znacznik(flaga)parzystości,PF–bit2,przyjmujewartość1wówczas,gdywynik
operacjimaparzystąilośćbitówowartości1wmniejznaczącymbajciewyniku,wprze-
ciwnymprzypadkuznacznikprzyjmujewartość0.ZnacznikCFużywanyjestprzede
wszystkimprzyprzesyłaniudanych.