09.05.2013 Views

MIKROPROCESORIAI - Vilniaus Gedimino technikos universitetas

MIKROPROCESORIAI - Vilniaus Gedimino technikos universitetas

MIKROPROCESORIAI - Vilniaus Gedimino technikos universitetas

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

1. Aštuonių skilčių bendrosios paskirties mikroprocesorių komandų sistema ir programavimas<br />

22. Parašykite programą, kuri atimtų du 8 bitų operandus, esančius pasirinktose<br />

skirtingose atminties ląstelėse, ir gautą rezultatą įrašytų į<br />

dėklą nurodytu adresu.<br />

a. Operandams adresuoti taikyti šalutinį registrinį operandų adresavimo<br />

būdą;<br />

b. Operandams adresuoti taikyti tiesioginį operandų adresavimo<br />

būdą;<br />

c. Operandams adresuoti taikyti tiesioginį operandą;<br />

d. Operandams adresuoti parinkti skirtingus operandų adresavimo<br />

būdus.<br />

22. b. Sprendimas.<br />

Dėklas yra specialioji operatyviosios atminties sritis, skirta grįžties<br />

iš paprogramių adresams, tarpiniams skaičiavimų rezultatams, konstantoms<br />

ar duomenims ir pan. laikinai saugoti, t. y. laikina informacijos<br />

saugykla. Dėklą programuotojas gali susikurti (adresuoti), taikydamas<br />

specia lųjį 16 skilčių registrą SP, vadinamą dėklo rodykle (angl. Stack<br />

Pointer) arba dėklo viršūne (angl. Stack Top).<br />

Dėklas veikia LIFO (angl. Last In, First Out) principu (paskutinis<br />

į, pirmas iš), t. y. duomenys į dėklą įrašomi iš eilės tokia tvarka, kokia<br />

pateikiami, tad skaityti iš dėklo galima tik vėliausiai įrašytus duomenis.<br />

Juos nuskaičius, bus galima skaityti prieš juos buvusius duomenis ir t. t.<br />

Tokį dėklo veikimo principą galima vaizdžiai paaiškinti lėkščių rietuvės<br />

pavyzdžiu (1.3 pav.).<br />

3<br />

2<br />

1<br />

1.3 pav. Lėkščių rietuvė<br />

Norint paimti pirmąją lėkštę, pirmiausia reikia nukelti trečiąją, o<br />

paskui antrąją lėkštę, t. y. pirmiausia į dėklą įrašytus duomenis bus galima<br />

nuskaityti vėliausiai.<br />

33

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!