Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
2.Rejestry
25
2.4.
gdziedokonywaneoperacjenablokachpamięci,kopiowanie,porównywanie,prze-
szukiwanie,czyszczenie.
RejestrSSwskazujepoczątek64KBblokupamięci,zwanegosegmentemstosu.
Wszystkierozkazy,któreniejawnieużywająrejestruSPodkładanienastos,zdejmowa-
niezestosu,wywołaniaipowrotyużywająsegmentustosu,ponieważrejestrSPjest
zdolnytylkodoadresowaniapamięciwobszarzesegmentustosuSS.RównieżrejestrBP
oczymbyłajużmowaodnosisiędosegmentustosu;stądteżrejestrBPjestużywany
doadresowaniaparametrówizmiennychzawartychnastosie.
Wskaźnikrozkazów
RejestrIPnazywanyjestwskaź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,CFbit0,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,PFbit2,przyjmujewartość1wówczas,gdywynik
operacjimaparzystąilośćbitówowartości1wmniejznaczącymbajciewyniku,wprze-
ciwnymprzypadkuznacznikprzyjmujewartość0.ZnacznikCFużywanyjestprzede
wszystkimprzyprzesyłaniudanych.