Смекни!
smekni.com

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

push 0f000h

push 0ffffh

ret

Êîìàíäà RET áåðåò èç ñòåêà çíà÷åíèÿ ñåãìåíòà è ñìåùåíèÿ, à ïîòîì äåëàåò ìåæñåãìåíòíûé ïåðåõîä. Ïðåäñòàâèì ñåáå, âûïîëíåíèå ïîäîáíîãî êîäà áåç âîçìîæíîñòè ïîìåùàòü íà âåðøèíó ñòåêà íåïîñðåäñòâåííîå çíà÷åíèå:

mov ax,0f000h

push ax

mov ax,0ffffh

push ax

ret

Êàê âèäèì, âûãëÿäèò ýòî íå ñëèøêîì êîìïàêòíî, â ñðàâíåíèè ñ ïðåäûäóùèì ïðèìåðîì, è ìîæåòå áûòü óâåðåíû, ÷òî âûïîëíÿåòñÿ ýòî íà íåñêîëüêî òàêòîâ äîëüøå. Ýòî ñàìûé ïðîñòîé ïðèìåð ïðèìåíåíèÿ íåïîñðåäñòâåííîé àäðåñàöèè, íà ñàìîì äåëå åå ïðèìåíåíèå ãîðàçäî øèðå, îñîáåííî åñëè èíòåíñèâíî èñïîëüçóþòñÿ ðàáîòà ñ îïåðàöèîííîé ñèñòåìîé, ãäå âñå çíà÷åíèÿ, àäðåñà è ïàðàìåòðû ñòàíäàðòèçèðîâàíû è â îñíîâíîì çàðàíåå èçâåñòíû. Íà ÑÌ 1700 ðåæèì íåïîñðåäñòâåííîé àäðåñàöèè ðåàëèçóåòñÿ ïðîãðàììíî, ñ èñïîëüçîâàíèåì ñ÷åò÷èêà èíñòðóêöèé, à â ìàøèíàõ íà áàçå i386 îí ðåàëèçóåòñÿ àïïàðàòíî. Òðóäíî ñêàçàòü ÷òî ëó÷øå, îäíàêî â ÑÌ 1700 ïðåäóñìîòðåí åùå è ðåæèì êîðîòêîãî ëèòåðàëà, ïðåèìóùåñòâà êîòîðîãî ïåðåä îáû÷íîé íåïîñðåäñòâåííîé àäðåñàöèåé äàííûõ ìåíüøèõ ÷åì 64 áåñïîðíû.  80386 ïðîöåññîðå íè÷åãî ïîäîáíîãî íå ïðåäóñìîòðåíî, õîòÿ ìîæåò áûòü ýòî ëó÷øå - íå óâåëè÷èâàåò ñèñòåìó êîìàíä è ñëåäîâàòåëüíî óïðîùàåò ñòðóêòóðó ïðîöåññîðà.

Ïðÿìàÿ àäðåñàöèÿ ýòî òîæå äîñòàòî÷íî ïðîñòîé, íî î÷åíü ÷àñòî èñïîëüçóåìûé èíñòðóìåíò. ×àùå âñåãî èñïîëüçóåòñÿ äëÿ îáðàùåíèÿ ê îäèíî÷íûì ïåðåìåííûì, îáëàñòÿì äàííûõ îïåðàöèîííûõ ñèñòåì è ò.ä. Ðåàëèçîâàí è â i386 ïðîöåññîðå è íà ÑÌ 1700, îïÿòü æå ÷åðåç ñ÷åò÷èê èíñòðóêöèé.

Áîëåå ñëîæíûìè, îäíàêî è áîëåå ïðîäóêòèâíûìè ÿâëÿþòñÿ êîñâåííûå ñïîñîáû àäðåñàöèè. Êîñâåííî ðåãèñòðîâûé, êîñâåííûé ñî ñìåùåíèåì, èíäåêñíûå ðåæèìû àäðåñàöèè ðåàëèçîâàíû â ïîëíîé ìåðå è íà ÑÌ 1700 è â ÏÝÂÌ. Îíè äàþò íàèáîëüøèé ýôôåêò ïðè îáðàáîòêå ìàññèâîâ, òàáëèö, ðàçëè÷íîãî ðîäà ñïèñêîâ. Äëÿ ñðàâíåíèÿ ïðèâåäåì òàáëèöó àíàëîãè÷íûõ ïî ñìûñëó èíñòðóêöèé ÑÌ 1700 è ïðîöåññîðà 80386.