Смекни!
smekni.com

Системы адресации в Мини- и МикpоЭВМ (стр. 4 из 14)

Äî îïåðàöèè CLRB @(R5)+

R5 = 00001000

(00001000) = 000000AC (R5)

(000000AC) = 0A (00001000)

Ïîñëå...

R5 = 00001004 <—— óâåëè÷èëîñü íà 4

(00001000) = 000000AC

(000000AC) = 00 <—— 0

 ðåçóëüòàòå âûïîëíåíèÿ ýòîé êîìàíäû ñîäåðæèìîå ÿ÷åéêè 000000AC, àäðåñ êîòîðîé cîäåðæàëñÿ â ÿ÷åéêå 00001000, íà êîòîðóþ óêàçûâàë ðåãèñòð R5 îáíóëèëîñü, à çíà÷åíèå ðåãèñòðà R5 óâåëè÷èëîñü íà 4.

2.6 ÐÅÆÈÌ ÑÌÅÙÅÍÈß

 ýòîì ðåæèìå ñîäåðæèìîå âûáðàííîãî ðåãèñòðà ñêëàäûâàåòñÿ ñ ñîäåðæèìûì áàéòà, ñëîâà èëè äâîéíîãî ñëîâà, ñëåäóþùåãî íåïîñðåäñòâåííî çà ñïåöèôèêàòîðîì îïåðàíäà. Ïîëó÷åííàÿ ñóììà ÿâëÿåòñÿ àäðåñîì îïåðàíäà. Ìíåìîíèêè íà àññåìáëåðå äëÿ 3åõ ñëó÷àåâ èìåþò âèä: B^X(Rn), W^X(Rn), L^X(Rn), ãäå X ñìåùåíèå, îòíîñèòåëüíî (Rn). Âîçìîæíîñòü çàäàâàòü ðàçìåðíîñòü ñìåùåíèÿ ïðåäóñìîòðåíà äëÿ ýêîíîìèè ïàìÿòè.

Ðàññìîòðèì ýòîò ñïîñîá àäðåñàöèè íà ïðèìåðå êîìàíäû CLRB B^2(R4), êîòîðàÿ î÷èñòèò 3èé áàéò áàéòîâîãî ìàññèâà, àäðåñ êîòîðîãî ñîäåðæèòñÿ â ðåãèñòðå R5. Åå ìàøèííîå ïðåäñòàâëåíèå âûãëÿäèò êàê 94 A4 02, ãäå 94 - êîä îïåðàöèè, A4 - ðåãèñòð R4 è ñìåùåíèå ïðåäñòàâëåíî áàéòîì ( äëÿ ñëîâà è äâîéíîãî ñëîâà áûëî áû C4 è E4 ñîîòâåòñòâåííî, à òðåòüå ïîëå ïðåäñòàâëÿëî áû ñìåùåíèå êàê ñëîâî èëè äâîéíîå ñëîâî ), à 02 ñîáñòâåííî ñìåùåíèå, ïðåäñòàâëåííîå â âèäå áàéòà.

Äî îïåðàöèè CLRB B^2(R4)

R4 = 00001000

(00001000) = 00 (R4)

(00001001) = 01

(00001002) = 02 (R4)+2

Ïîñëå...

R4 = 00001000

(00001000) = 00 (R4)

(00001001) = 01

(00001002) = 00 <—— 0

 ðåçóëüòàòå âûïîëíåíèÿ êîìàíäû äåéñòâèòåëüíî ïðîèçîøëî î÷èùåíèå ÿ÷åéêè 00001002, çàäàííîé íà÷àëüíûì àäðåñîì 00001000 è ñìåùåíèåì 2. Ýòîò ðåæèì àäðåñàöèè ïîçâîëÿåò ëåãêî îáðàùàòüñÿ ê îòäåëüíûì ýëåìåíòàì ìàññèâîâ, ÷òî î÷åíü óäîáíî.

2.7 ÊÎÑÂÅÍÍÛÉ ÐÅÆÈÌ ÑÌÅÙÅÍÈß

 ýòîì ðåæèìå ñîäåðæèìîå âûáðàííîãî ðåãèñòðà ñêëàäûâàåòñÿ ñî ñìåùåíèåì ( áàéò, ñëîâî èëè äâîéíîå ñëîâî ñëåäóþùåå íåïîñðåäñòâåííî çà ñïåöèôèêàòîðîì îïåðàíäà ) è ïîëó÷åííàÿ ñóììà ðàññìàòðèâàåòñÿ êàê àäðåñ äâîéíîãî ñëîâà, êîòîðîå ÿâëÿåòñÿ àäðåñîì îïåðàíäà. Ìíåìîíè÷åñêîå ïðåäñòàâëåíèå íà àññåìáëåðå @B^X(Rn), @W^X(Rn) è @L^X(Rn) äëÿ ñìåùåíèÿ X â áàéò, ñëîâî èëè äâîéíîå ñëîâî ñîîòâåòñòâåííî. Rn - ýòî ðåãèñòð,èñïîëüçóåìûé â äàííîì ñïîñîáå àäðåñàöèè.

 êà÷åñòâå ïðèìåðà âîçüìåì èíñòðóêöèþ MOVW @B^8(R5),(R2), êîòîðàÿ äîëæíà çàíåñòè â ïàìÿòü ïî àäðåñó (R2) ÷èñëî, íà êîòîðîå óêàçûâàåò äâîéíîå ñëîâî, ïî àäðåñó ïîëó÷àåìîìó ïðè ñëîæåíèè ñîäåðæèìîãî ðåãèñòðà R2 ñî ñìåùåíèåì 8. Íà ìàøèííîì ÿçûêå ýòà èíñòðóêöèÿ áóäåò èìåòü âèä B0 B5 08 62, ãäå Â0 - êîä èíñòðóêöèè, B5 - ðåãèñòð R5 è áàéòîâîå ñìåùåíèå, 08 - ñìåùåíèå è 62 - êîñâåííàÿ àäðåñàöèÿ ñ èñïîëüçîâàíèåì ðåãèñòðà R2.

Äî îïåðàöèè MOVW @B^8(R5),(R2)

R5 = 00001000

R2 = 00000400

(00001000) = 00000100 (R5)

(00001004) = 00000200

(00001008) = 00000300 (R5)+8

(00000300) = AAAA @(R5)+8

(00000400) = 0000 (R2)

Ïîñëå...

R5 = 00001000

R2 = 00000400

(00001000) = 00000100 (R5)

(00001004) = 00000200

(00001008) = 00000300 (R5)+8

(00000300) = AAAA

(00000400) = AAAA

Êàê âèäíî èç ïðèìåðà â ÿ÷åéêó 00000400 áûëî çàíåñåíî ñîäåðæèìîå ÿ÷åéêè 00000300. Àäðåñ 0000300 áûë âû÷èñëåí êàê ñîäåðæèìîå R5 ( 00001000 ) ïëþñ 8 ò.å. 00001008. Ýòà ÿ÷åéêà, êàê âèäíî, äåéñòâèòåëüíî ñîäåðæèò àäðåñ 00000300.

2.8 ÐÅÆÈÌ ÊÎÐÎÒÊÎÃÎ ËÈÒÅÐÀËÀ

Òàê êàê ìíîãèå ëèòåðàëû (÷èñëà), èñïîëüçóåìûå â ïðîãðàììàõ, èìåþò íåáîëüøîé ðàçìåð, òî â ÑÌ1700 ïðåäóñìîòðåí ñïåöèàëüíûé ðåæèì àäðåñàöèè, íàçûâàåìûé ðåæèìîì êîðîòêîãî ëèòåðàëà.  ýòîì ðåæèìå êîíñòàíòà ñîäåðæèòñÿ íåïîñðåäñòâåííî â ñàìîì ñïåöèôèêàòîðå îïåðàíäà. Ëþáîé ñïåöèôèêàòîð îïåðàíäà, äâà ñòàðøèõ ðàçðÿäà êîòîðîãî ðàâíû íóëþ ñîäåðæèò ëèòåðàëüíóþ êîíñòàíòó â ìëàäøèõ øåñòè ðàçðÿäàõ.