09.05.2013 Views

MIKROPROCESORIAI - Vilniaus Gedimino technikos universitetas

MIKROPROCESORIAI - Vilniaus Gedimino technikos universitetas

MIKROPROCESORIAI - Vilniaus Gedimino technikos universitetas

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

jančių operandų būtinai turi būti kaupiklyje. Atlikus operaciją, jame lieka<br />

rezultatas.<br />

Priimkime, kad kaupiklio A turinys yra lygus 0316, o registro E turinys<br />

yra lygus 0216.<br />

Gautą sudėties rezultatą (sumą) 0516 įrašysime į pasirinktą atminties<br />

ląstelę, kurios adresas yra 200A16.<br />

Adresas16<br />

2000<br />

2001<br />

2002<br />

Komandos<br />

kodas16<br />

21<br />

0A<br />

20<br />

Komandos<br />

Komentaras<br />

mnemonika<br />

LXI H, 200A Į registrų porą HL persiunčiamas dviejų<br />

baitų tiesioginis operandas (antrasis ir<br />

trečiasis komandos baitai), t. y. operando<br />

adresas atmintyje (0A16 → L, 2016 → H,<br />

HL = 200A16).<br />

2003 83 ADD E Registro E turinys pridedamas prie kaupiklio<br />

A turinio (A + E → A, A = 0516).<br />

2004 77 MOV M, A Gauta dviejų registrų turinių suma iš kaupiklio<br />

A persiunčiama į atminties ląstelę,<br />

kurios adresas yra registrų poroje HL (A →<br />

M[HL], A → M[200A16], 200A16 = 0516).<br />

2005 76 HLT Stabdomas mikroprocesoriaus darbas.<br />

13. b. Sprendimas.<br />

Komandos su tiesioginiu operandų adresavimu yra dviejų arba trijų<br />

baitų ilgio. Čia prievado numeris (adresas) yra antrasis komandos baitas, o<br />

operando adresas yra antrasis ir trečiasis baitai:<br />

1 baitas<br />

C7 C6 C5 C4 C3 C2 C1 C0<br />

2 baitas<br />

A7 A6 A5 A4 A3 A2 A1 A0<br />

23<br />

– operacijos kodo baitas<br />

(OKB)<br />

– prievado numeris (adresas)<br />

(N)

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

Saved successfully!

Ooh no, something went wrong!