В.А. Серебряков, М.П. Галочкин и др. - Теория и реализация языков программирования (2006) (1134633), страница 27
Текст из файла (страница 27)
Êðîìå òîãî,ïðè ðàáîòå ïðîãðàììû íà ÿçûêå Java èìååòñÿ âîçìîæíîñòüèñïîëüçîâàíèÿ ìåòîäîâ èç äðóãèõ ïàêåòîâ. Äëÿ ðåàëèçàöèèýòîãî ìåõàíèçìà â Java-ìàøèíå èñïîëüçóåòñÿ äèíàìè÷åñêîåñâÿçûâàíèå.Ïðåäïîëàãàåòñÿ, ÷òî ñòåê îïåðàíäîâ ñîäåðæèò handleîáúåêòà èëè ìàññèâà è íåêîòîðîå êîëè÷åñòâî àðãóìåíòîâ.Îïåðàíä îïåðàöèè èñïîëüçóåòñÿ äëÿ êîíñòðóèðîâàíèÿ èíäåêñà â îáëàñòè êîíñòàíò òåêóùåãî êëàññà.
Ýëåìåíò ïî ýòîìó èíäåêñó â îáëàñòè êîíñòàíò ñîäåðæèò ïîëíóþ ñèãíàòóðó ìåòîäà. Ñèãíàòóðà ìåòîäà îïèñûâàåò òèïû ïàðàìåòðîâè âîçâðàùàåìîãî çíà÷åíèÿ. Èç handle îáúåêòà èçâëåêàåòñÿ óêàçàòåëü íà òàáëèöó ìåòîäîâ îáúåêòà. Ïðîñìàòðèâàåòñÿ ñèãíàòóðà ìåòîäà â òàáëèöå ìåòîäîâ. Ðåçóëüòàòîì ýòîãîïðîñìîòðà ÿâëÿåòñÿ èíäåêñ â òàáëèöó ìåòîäîâ èìåíîâàííîãî êëàññà, äëÿ êîòîðîãî íàéäåí óêàçàòåëü íà áëîê ìåòîäà.Áëîê ìåòîäà óêàçûâàåò òèï ìåòîäà (native, synchronizedè ò.ä.) è ÷èñëî àðãóìåíòîâ, îæèäàåìûõ íà ñòåêå îïåðàíäîâ.Åñëè ìåòîä ïîìå÷åí êàê synchronized, çàïóñêàåòñÿ ìîíèòîð, ñâÿçàííûé ñ handle. Áàçèñ ìàññèâà ëîêàëüíûõ ïåðåìåííûõ äëÿ íîâîãî ñòåê-ôðåéìà óñòàíàâëèâàåòñÿ òàê, ÷òîîí óêàçûâàåò íà handle íà ñòåêå.
Îïðåäåëÿåòñÿ îáùåå ÷èñëî ëîêàëüíûõ ïåðåìåííûõ, èñïîëüçóåìûõ ìåòîäîì, è ïîñëåòîãî, êàê îòâåäåíî íåîáõîäèìîå ìåñòî äëÿ ëîêàëüíûõ ïåðåìåííûõ, îêðóæåíèå èñïîëíåíèÿ íîâîãî ôðåéìà ïîìåùàåòñÿ íà ñòåê. Áàçà ñòåêà îïåðàíäîâ äëÿ ýòîãî âûçîâà ìåòîäàóñòàíàâëèâàåòñÿ íà ïåðâîå ñëîâî ïîñëå îêðóæåíèÿ èñïîëíåíèÿ. Çàòåì èñïîëíåíèå ïðîäîëæàåòñÿ ñ ïåðâîé èíñòðóêöèèâûçâàííîãî ìåòîäà.8.5. Îðãàíèçàöèÿ èíôîðìàöèè â ãåíåðàòîðå êîäà195Îáðàáîòêà èñêëþ÷èòåëüíûõ ñèòóàöèéÊîìàíäà athrow âîçáóäèòü èñêëþ÷èòåëüíóþ ñèòóàöèþ.Ñ êàæäûì ìåòîäîì ñâÿçàí ñïèñîê îïåðàòîðîâ catch.Êàæäûé îïåðàòîð catch îïèñûâàåò äèàïàçîí èíñòðóêöèé,äëÿ êîòîðûõ îí àêòèâåí, òèï èñêëþ÷åíèÿ, êîòîðûé îí îáðàáàòûâàåò.
Êðîìå òîãî, ñ îïåðàòîðîì ñâÿçàí íàáîð èíñòðóêöèé, êîòîðûå åãî ðåàëèçóþò. Ïðè âîçíèêíîâåíèè èñêëþ÷èòåëüíîé ñèòóàöèè ïðîñìàòðèâàåòñÿ ñïèñîê îïåðàòîðîâ catch, ÷òîáû óñòàíîâèòü ñîîòâåòñòâèå. Èñêëþ÷èòåëüíàÿ ñèòóàöèÿ ñîîòâåòñòâóåò îïåðàòîðó catch, åñëè èíñòðóêöèÿ, âûçâàâøàÿ èñêëþ÷èòåëüíóþ ñèòóàöèþ, íàõîäèòñÿ âñîîòâåòñòâóþùåì äèàïàçîíå è èñêëþ÷èòåëüíàÿ ñèòóàöèÿïðèíàäëåæèò ïîäòèïó òèïà ñèòóàöèè, êîòîðûå îáðàáàòûâàåò îïåðàòîð catch. Åñëè ñîîòâåòñòâóþùèé îïåðàòîð catchíàéäåí, óïðàâëåíèå ïåðåäà¼òñÿ îáðàáîò÷èêó. Åñëè íåò, òåêóùèé ñòåê-ôðåéì óäàëÿåòñÿ, è èñêëþ÷èòåëüíàÿ ñèòóàöèÿâîçáóæäàåòñÿ âíîâü.Ïîðÿäîê îïåðàòîðîâ catch â ñïèñêå âàæåí. Èíòåðïðåòàòîð ïåðåäà¼ò óïðàâëåíèå ïåðâîìó ïîäõîäÿùåìó îïåðàòîðócatch.8.5. Îðãàíèçàöèÿ èíôîðìàöèè â ãåíåðàòîðå êîäàÑèíòàêñè÷åñêîå äåðåâî â ÷èñòîì âèäå íåñ¼ò òîëüêî èíôîðìàöèþ î ñòðóêòóðå ïðîãðàììû.
Íà ñàìîì äåëå â ïðîöåññå ãåíåðàöèè êîäà òðåáóåòñÿ òàêæå èíôîðìàöèÿ î ïåðåìåííûõ (íàïðèìåð, èõ àäðåñà), ïðîöåäóðàõ (òàêæå àäðåñà,óðîâíè), ìåòêàõ è ò.ä. Äëÿ ïðåäñòàâëåíèÿ ýòîé èíôîðìàöèèâîçìîæíû ðàçëè÷íûå ðåøåíèÿ. Íàèáîëåå ðàñïðîñòðàíåíûäâà: èíôîðìàöèÿ õðàíèòñÿ â òàáëèöàõ ãåíåðàòîðà êîäà; èíôîðìàöèÿ õðàíèòñÿ â ñîîòâåòñòâóþùèõ âåðøèíàõ äåðåâà.Ðàññìîòðèì, íàïðèìåð, ñòðóêòóðó òàáëèö, êîòîðûå ìîãóò áûòü èñïîëüçîâàíû â ñî÷åòàíèè ñ Ëèäåð-ïðåäñòàâëåíèåì.
Ïîñêîëüêó Ëèäåð-ïðåäñòàâëåíèå íå ñîäåðæèò èíôîðìà-196Ãëàâà 8. Ïðîìåæóòî÷íîå ïðåäñòàâëåíèå ïðîãðàììûöèè îá àäðåñàõ ïåðåìåííûõ, çíà÷èò, ýòó èíôîðìàöèþ íóæíî ñîáèðàòü â ïðîöåññå îáðàáîòêè îáúÿâëåíèé è õðàíèòü âòàáëèöàõ. Ýòî êàñàåòñÿ è îïèñàíèé ìàññèâîâ, çàïèñåé è ò.ä.Êðîìå òîãî, â òàáëèöàõ òàêæå äîëæíà ñîäåðæàòüñÿ èíôîðìàöèÿ î ïðîöåäóðàõ (àäðåñà, óðîâíè, ìîäóëè, â êîòîðûõïðîöåäóðû îïèñàíû, è ò.ä.).Ïðè âõîäå â ïðîöåäóðó â òàáëèöå óðîâíåé ïðîöåäóð çàâîäèòñÿ íîâûé âõîä óêàçàòåëü íà òàáëèöó îïèñàíèé. Ïðèâûõîäå óêàçàòåëü âîññòàíàâëèâàåòñÿ íà ñòàðîå çíà÷åíèå.Åñëè ïðîìåæóòî÷íîå ïðåäñòàâëåíèå äåðåâî, òî èíôîðìàöèÿ ìîæåò õðàíèòüñÿ â âåðøèíàõ ñàìîãî äåðåâà.8.6.
Óðîâåíü ïðîìåæóòî÷íîãî ïðåäñòàâëåíèÿÊàê âèäíî èç ïðèâåä¼ííûõ ïðèìåðîâ, ïðîìåæóòî÷íîåïðåäñòàâëåíèå ïðîãðàììû ìîæåò â ðàçëè÷íîé ñòåïåíè áûòüáëèçêèì ëèáî ê èñõîäíîé ïðîãðàììå, ëèáî ê ìàøèíå. Íàïðèìåð, ïðîìåæóòî÷íîå ïðåäñòàâëåíèå ìîæåò ñîäåðæàòüàäðåñà ïåðåìåííûõ, è òîãäà îíî óæå íå ìîæåò áûòü ïåðåíåñåíî íà äðóãóþ ìàøèíó. Ñ äðóãîé ñòîðîíû, ïðîìåæóòî÷íîå ïðåäñòàâëåíèå ìîæåò ñîäåðæàòü ðàçäåë îïèñàíèé ïðîãðàììû, è òîãäà èíôîðìàöèþ îá àäðåñàõ ìîæíî èçâëå÷üèç îáðàáîòêè îïèñàíèé.
 òî æå âðåìÿ ÿñíî, ÷òî ïåðâîåáîëåå ýôôåêòèâíî, ÷åì âòîðîå. Îïåðàòîðû óïðàâëåíèÿ âïðîìåæóòî÷íîì ïðåäñòàâëåíèè ìîãóò áûòü ïðåäñòàâëåíûâ èñõîäíîì âèäå (â âèäå îïåðàòîðîâ ÿçûêà if, for, while èò.ä.), à ìîãóò ñîäåðæàòüñÿ â âèäå ïåðåõîäîâ.  ïåðâîì ñëó÷àå íåêîòîðàÿ èíôîðìàöèÿ ìîæåò áûòü èçâëå÷åíà èç ñàìîéñòðóêòóðû (íàïðèìåð, äëÿ îïåðàòîðà for èíôîðìàöèÿ îïåðåìåííîé öèêëà, êîòîðóþ, ìîæåò áûòü, ðàçóìíî õðàíèòüíà ðåãèñòðå, äëÿ îïåðàòîðà case èíôîðìàöèÿ î òàáëèöå ìåòîê è ò.ä.).
Âî âòîðîì ñëó÷àå ïðåäñòàâëåíèå ïðîùå èóíèôèöèðîâàííåé.Íåêîòîðûå ôîðìû ïðîìåæóòî÷íîãî ïðåäñòàâëåíèÿóäîáíû äëÿ ðàçëè÷íîãî ðîäà îïòèìèçàöèé, íåêîòîðûå íåò (íàïðèìåð, êîñâåííûå òðîéêè, â îòëè÷èå îò ïðåôèêñíîé çàïèñè, ïîçâîëÿþò ýôôåêòèâíîå ïåðåìåùåíèå êîäà).Ãëàâà 9.Ãåíåðàöèÿ êîäàÇàäà÷à ãåíåðàòîðà êîäà ïîñòðîåíèå äëÿ ïðîãðàììûíà âõîäíîì ÿçûêå ýêâèâàëåíòíîé ìàøèííîé ïðîãðàììû.Îáû÷íî â êà÷åñòâå âõîäà äëÿ ãåíåðàòîðà êîäà ñëóæèò íåêîòîðîå ïðîìåæóòî÷íîå ïðåäñòàâëåíèå ïðîãðàììû.Ãåíåðàöèÿ êîäà âêëþ÷àåò ðÿä ñïåöèôè÷åñêèõ, îòíîñèòåëüíî íåçàâèñèìûõ ïîäçàäà÷: ðàñïðåäåëåíèå ïàìÿòè (â÷àñòíîñòè, ðàñïðåäåëåíèå ðåãèñòðîâ), âûáîð êîìàíä, ãåíåðàöèþ îáúåêòíîãî (èëè çàãðóçî÷íîãî) ìîäóëÿ. Êîíå÷íî,íåçàâèñèìîñòü ýòèõ ïîäçàäà÷ îòíîñèòåëüíà: íàïðèìåð, ïðèâûáîðå êîìàíä íåëüçÿ íå ó÷èòûâàòü ñõåìó ðàñïðåäåëåíèÿïàìÿòè, è, íàîáîðîò, ñõåìà ðàñïðåäåëåíèÿ ïàìÿòè (ðåãèñòðîâ, â ÷àñòíîñòè) âåä¼ò ê ãåíåðàöèè òîé èëè èíîé ïîñëåäîâàòåëüíîñòè êîìàíä.
Îäíàêî óäîáíî è ïðàêòè÷íî ýòèçàäà÷è âñ¼ æå ðàçäåëÿòü, îáðàùàÿ ïðè ýòîì âíèìàíèå íàèõ âçàèìîäåéñòâèå. êàêîé-òî ìåðå ñõåìà ãåíåðàòîðà êîäà çàâèñèò îò ôîðìû ïðîìåæóòî÷íîãî ïðåäñòàâëåíèÿ. ßñíî, ÷òî ãåíåðàöèÿêîäà èç äåðåâà îòëè÷àåòñÿ îò ãåíåðàöèè êîäà èç òðîåê, àãåíåðàöèÿ êîäà èç ïðåôèêñíîé çàïèñè îòëè÷àåòñÿ îò ãåíåðàöèè êîäà èç îðèåíòèðîâàííîãî ãðàôà.  òî æå âðåìÿ âñåãåíåðàòîðû êîäà èìåþò ìíîãî îáùåãî, è îñíîâíûå ïðèìåíÿåìûå àëãîðèòìû îòëè÷àþòñÿ, êàê ïðàâèëî, òîëüêî â äåòàëÿõ, ñâÿçàííûõ ñ èñïîëüçóåìûì ïðîìåæóòî÷íûì ïðåäñòàâëåíèåì.198Ãëàâà 9. Ãåíåðàöèÿ êîäà äàëüíåéøåì â êà÷åñòâå ïðîìåæóòî÷íîãî ïðåäñòàâëåíèÿ ìû áóäåì èñïîëüçîâàòü ïðåôèêñíóþ íîòàöèþ.
À èìåííî, àëãîðèòìû ãåíåðàöèè êîäà áóäåì èçëàãàòü â âèäå àòðèáóòíûõ ñõåì ñî âõîäíûì ÿçûêîì Ëèäåð.9.1. Ìîäåëü ìàøèíûÏðè èçëîæåíèè àëãîðèòìîâ ãåíåðàöèè êîäà ìû áóäåì ñëåäîâàòü íåêîòîðîé ìîäåëè ìàøèíû, â îñíîâó êîòîðîé ïîëîæåíà ñèñòåìà êîìàíä ìèêðîïðîöåññîðà MotorolaMC68020.  ìèêðîïðîöåññîðå èìååòñÿ ðåãèñòð ñ÷¼ò÷èêêîìàíä PC, 8 ðåãèñòðîâ äàííûõ è 8 àäðåñíûõ ðåãèñòðîâ. ñèñòåìå êîìàíä èñïîëüçóþòñÿ ñëåäóþùèå ñïîñîáû àäðåñàöèè:ABS àáñîëþòíàÿ: èñïîëíèòåëüíûì àäðåñîì ÿâëÿåòñÿçíà÷åíèå àäðåñíîãî âûðàæåíèÿ.IMM íåïîñðåäñòâåííûé îïåðàíä: îïåðàíäîì êîìàíäûÿâëÿåòñÿ êîíñòàíòà, çàäàííàÿ â àäðåñíîì âûðàæåíèè.D ïðÿìàÿ àäðåñàöèÿ ÷åðåç ðåãèñòð äàííûõ, çàïèñûâàåòñÿ êàê Õn, îïåðàíä íàõîäèòñÿ â ðåãèñòðå Õn.À ïðÿìàÿ àäðåñàöèÿ ÷åðåç àäðåñíûé ðåãèñòð, çàïèñûâàåòñÿ êàê An, îïåðàíä íàõîäèòñÿ â ðåãèñòðå An.INDIRECT çàïèñûâàåòñÿ êàê (An), àäðåñ îïåðàíäà íàõîäèòñÿ â àäðåñíîì ðåãèñòðå An.POST ïîñò-èíêðåìåíòíàÿ àäðåñàöèÿ, çàïèñûâàåòñÿ êàê(Àn)+, èñïîëíèòåëüíûé àäðåñ åñòü çíà÷åíèå àäðåñíîãî ðåãèñòðà An è ïîñëå èñïîëíåíèÿ êîìàíäû çíà÷åíèå ýòîãî ðåãèñòðà óâåëè÷èâàåòñÿ íà äëèíó îïåðàíäà.PRE ïðå-èíêðåìåíòíàÿ àäðåñàöèÿ, çàïèñûâàåòñÿ êàê-(Àn): ïåðåä èñïîëíåíèåì îïåðàöèè ñîäåðæèìîå àäðåñíîãîðåãèñòðà An óìåíüøàåòñÿ íà äëèíó îïåðàíäà, èñïîëíèòåëüíûé àäðåñ ðàâåí íîâîìó ñîäåðæèìîìó àäðåñíîãî ðåãèñòðà.INDISP êîñâåííàÿ àäðåñàöèÿ ñî ñìåùåíèåì, çàïèñûâàåòñÿ êàê (bd,An), èñïîëíèòåëüíûé àäðåñ âû÷èñëÿåòñÿ êàê(An)+d ñîäåðæèìîå An ïëþñ d.INDEX êîñâåííàÿ àäðåñàöèÿ ñ èíäåêñîì, çàïèñûâàåòñÿ êàê (bd,An, Xn*sc), èñïîëíèòåëüíûé àäðåñ âû÷èñëÿåò-9.1.
Ìîäåëü ìàøèíû199ñÿ êàê (An)+bd+(Xn)*sc ñîäåðæèìîå àäðåñíîãî ðåãèñòðà+ àäðåñíîå ñìåùåíèå + ñîäåðæèìîå èíäåêñíîãî ðåãèñòðà,óìíîæåííîå íà sc.INDIRPC êîñâåííàÿ ÷åðåç PC (ñ÷¼ò÷èê êîìàíä), çàïèñûâàåòñÿ êàê (bd, PC), èñïîëíèòåëüíûé àäðåñ îïðåäåëÿåòñÿâûðàæåíèåì (PC)+bd.INDEXPC êîñâåííàÿ ÷åðåç PC ñî ñìåùåíèåì, çàïèñûâàåòñÿ êàê (bd,PC, Xn*sc), èñïîëíèòåëüíûé àäðåñ îïðåäåëÿåòñÿ âûðàæåíèåì (PC)+bd+(Xn)*sc.INDPRE ïðå-êîñâåííàÿ ÷åðåç ïàìÿòü, çàïèñûâàåòñÿ êàê([bd,An,sc*Xn], od) (ñõåìà âû÷èñëåíèÿ àäðåñîâ äëÿ ýòîãîè òð¼õ ïîñëåäóþùèõ ñïîñîáîâ àäðåñàöèè ïðèâåäåíà íèæå).INDPOSTïîñò-êîñâåííàÿ÷åðåçïàìÿòü:([bd,An],sc*Xn,od).INDPREPCïðå-êîñâåííàÿ÷åðåçPC:([bd,PC,sc*Xn],od).INDPOSTPC ïîñò-êîñâåííàÿ ÷åðåç PC: ([bd,PC],Xn,od).Çäåñü bd ýòî 16- èëè 32-áèòíàÿ êîíñòàíòà, íàçûâàåìàÿñìåùåíèåì, od 16- èëè 32-áèòíàÿ ëèòåðàëüíàÿ êîíñòàíòà,íàçûâàåìàÿ âíåøíèì ñìåùåíèåì.
Ýòè ñïîñîáû àäðåñàöèèìîãóò èñïîëüçîâàòüñÿ â óïðîù¼ííûõ ôîðìàõ áåç ñìåùåíèébd è/èëè od è áåç ðåãèñòðîâ An èëè Xn. Ñëåäóþùèå ïðèìåðûèëëþñòðèðóþò êîñâåííóþ ïîñòèíäåêñíóþ àäðåñàöèþ:MOVEMOVEMOVEMOVEMOVEMOVED0,D0,D0,D0,D0,D0,([A0])([4,A0])([A0],6)([A0],D3)([A0],D4,12)([$12345678,A0],D4,$FF000000)Èíäåêñíûé ðåãèñòð Xn ìîæåò ìàñøòàáèðîâàòüñÿ (óìíîæàòüñÿ) íà 2,4,8, ÷òî çàïèñûâàåòñÿ êàê sc*Xn.
Íàïðèìåð, âèñïîëíèòåëüíîì àäðåñå ([24,A0, 4*D0]) ñîäåðæèìîå êâàäðàòíûõ ñêîáîê âû÷èñëÿåòñÿ êàê [A0] + 4 * [D0] + 24.Ýòè ñïîñîáû àäðåñàöèè ðàáîòàþò ñëåäóþùèì îáðàçîì.Êàæäûé èñïîëíèòåëüíûé àäðåñ ñîäåðæèò ïàðó êâàäðàòíûõ ñêîáîê [...] âíóòðè ïàðû êðóãëûõ ñêîáîê, òî åñòü200Ãëàâà 9. Ãåíåðàöèÿ êîäà([...], ... ). Ñíà÷àëà âû÷èñëÿåòñÿ ñîäåðæèìîå êâàäðàòíûõ ñêîáîê, â ðåçóëüòàòå ÷åãî ïîëó÷àåòñÿ 32-áèòíûéóêàçàòåëü. Íàïðèìåð, åñëè èñïîëüçóåòñÿ ïîñòèíäåêñíàÿôîðìà [20,A2], òî èñïîëíèòåëüíûé àäðåñ ýòî 20 + [A2].Àíàëîãè÷íî, äëÿ ïðåèíäåêñíîé ôîðìû [12,A4,D5] èñïîëíèòåëüíûé àäðåñ ýòî 12 + [A4] + [D5].Óêàçàòåëü, ñôîðìèðîâàííûé ñîäåðæèìûì êâàäðàòíûõñêîáîê, èñïîëüçóåòñÿ äëÿ äîñòóïà â ïàìÿòü, ÷òîáû ïîëó÷èòü íîâûé óêàçàòåëü (îòñþäà òåðìèí êîñâåííàÿ àäðåñàöèÿ ÷åðåç ïàìÿòü).
Ê ýòîìó íîâîìó óêàçàòåëþ äîáàâëÿåòñÿ ñîäåðæèìîå âíåøíèõ êðóãëûõ ñêîáîê è òàêèì îáðàçîìôîðìèðóåòñÿ èñïîëíèòåëüíûé àäðåñ îïåðàíäà. äàëüíåéøåì èçëîæåíèè áóäóò èñïîëüçîâàíû ñëåäóþùèå êîìàíäû (â ÷àñòíîñòè, ðàññìàòðèâàþòñÿ òîëüêî àðèôìåòè÷åñêèå êîìàíäû ñ öåëûìè îïåðàíäàìè, íî íå ñ ïëàâàþùèìè):MOVEA ÈÀ, À çàãðóçèòü ñîäåðæèìîå ïî èñïîëíèòåëüíîìó àäðåñó ÈÀ íà àäðåñíûé ðåãèñòð À.MOVE ÈÀ1, ÈÀ2 ñîäåðæèìîå ïî èñïîëíèòåëüíîìó àäðåñó ÈÀ1 ïåðåïèñàòü ïî èñïîëíèòåëüíîìó àäðåñó ÈÀ2.MOVEM ñïèñîê_ðåãèñòðîâ, ÈÀ ñîõðàíèòü óêàçàííûåðåãèñòðû â ïàìÿòè, íà÷èíàÿ ñ àäðåñà ÈÀ (ðåãèñòðû óêàçûâàþòñÿ ìàñêîé â ñàìîé êîìàíäå).MOVEM ÈÀ, ñïèñîê_ðåãèñòðîâ âîññòàíîâèòü óêàçàííûå ðåãèñòðû èç ïàìÿòè, íà÷èíàÿ ñ àäðåñà ÈÀ (ðåãèñòðûóêàçûâàþòñÿ ìàñêîé â ñàìîé êîìàíäå).LEA ÈÀ, À çàãðóçèòü èñïîëíèòåëüíûé àäðåñ ÈÀ íà àäðåñíûé ðåãèñòð À.MUL ÈÀ, D óìíîæèòü ñîäåðæèìîå ïî èñïîëíèòåëüíîìó àäðåñó ÈÀ íà ñîäåðæèìîå ðåãèñòðà äàííûõ D è ðåçóëüòàòðàçìåñòèòü â D (íà ñàìîì äåëå â ñèñòåìå êîìàíä èìåþòñÿäâå ðàçëè÷íûå êîìàíäû MULS è MULU äëÿ ÷èñåë ñî çíàêîìè ÷èñåë áåç çíàêà ñîîòâåòñòâåííî; äëÿ óïðîùåíèÿ ìû íåáóäåì ïðèíèìàòü âî âíèìàíèå ýòî ðàçëè÷èå).DIV ÈÀ, D ðàçäåëèòü ñîäåðæèìîå ðåãèñòðà äàííûõ Díà ñîäåðæèìîå ïî èñïîëíèòåëüíîìó àäðåñó ÈÀ è ðåçóëüòàòðàçìåñòèòü â D.ADD ÈÀ, D ñëîæèòü ñîäåðæèìîå ïî èñïîëíèòåëüíîìó9.1.
Ìîäåëü ìàøèíû201àäðåñó ÈÀ ñ ñîäåðæèìûì ðåãèñòðà äàííûõ D è ðåçóëüòàòðàçìåñòèòü â D.SUB ÈÀ, D âû÷åñòü ñîäåðæèìîå ïî èñïîëíèòåëüíîìóàäðåñó ÈÀ èç ñîäåðæèìîãî ðåãèñòðà äàííûõ D è ðåçóëüòàòðàçìåñòèòü â D.Êîìàíäû CMP è TST ôîðìèðóþò ðàçðÿäû ðåãèñòðà ñîñòîÿíèé. Âñåãî èìååòñÿ 4 ðàçðÿäà: Z ïðèçíàê íóëåâîãîðåçóëüòàòà, N ïðèçíàê îòðèöàòåëüíîãî ðåçóëüòàòà, V ïðèçíàê ïåðåïîëíåíèÿ, C ïðèçíàê ïåðåíîñà.CMP ÈÀ, D èç ñîäåðæèìîãî ðåãèñòðà äàííûõ D âû÷èòàåòñÿ ñîäåðæèìîå ïî èñïîëíèòåëüíîìó àäðåñó ÈÀ, ïðè ýòîìôîðìèðóåòñÿ âñå ðàçðÿäû ðåãèñòðà ñîñòîÿíèé, íî ñîäåðæèìîå ðåãèñòðà D íå ìåíÿåòñÿ.TST ÈÀ âûðàáîòàòü ðàçðÿä Z ðåãèñòðà ñîñòîÿíèé ïîçíà÷åíèþ, íàõîäÿùåìóñÿ ïî èñïîëíèòåëüíîìó àäðåñó ÈÀ.BNE ÈÀ óñëîâíûé ïåðåõîä ïî ïðèçíàêó Z = 1 (íå ðàâíî) ïî èñïîëíèòåëüíîìó àäðåñó ÈÀ.BEQ ÈÀ óñëîâíûé ïåðåõîä ïî ïðèçíàêó Z = 0 (ðàâíî)ïî èñïîëíèòåëüíîìó àäðåñó ÈÀ.BLE ÈÀ óñëîâíûé ïåðåõîä ïî ïðèçíàêó N or Z (ìåíüøåèëè ðàâíî) ïî èñïîëíèòåëüíîìó àäðåñó ÈÀ.BGT ÈÀ óñëîâíûé ïåðåõîä ïî ïðèçíàêó not N (áîëüøå)ïî èñïîëíèòåëüíîìó àäðåñó ÈÀ.BLT ÈÀ óñëîâíûé ïåðåõîä ïî ïðèçíàêó N (ìåíüøå) ïîèñïîëíèòåëüíîìó àäðåñó ÈÀ.BRA ÈÀ áåçóñëîâíûé ïåðåõîä ïî àäðåñó ÈÀ.JMP ÈÀ áåçóñëîâíûé ïåðåõîä ïî èñïîëíèòåëüíîìó àäðåñó.RTD ðàçìåð_ëîêàëüíûõ âîçâðàò èç ïîäïðîãðàììû ñóêàçàíèåì ðàçìåðà ëîêàëüíûõ.LINK A, ðàçìåð_ëîêàëüíûõ â ñòåêå ñîõðàíÿåòñÿ çíà÷åíèå ðåãèñòðà À, â ðåãèñòð À çàíîñèòñÿ óêàçàòåëü íà ýòîìåñòî â ñòåêå è óêàçàòåëü ñòåêà ïðîäâèãàåòñÿ íà ðàçìåð ëîêàëüíûõ.UNLK A ñòåê ñîêðàùàåòñÿ íà ðàçìåð ëîêàëüíûõ è ðåãèñòð À âîññòàíàâëèâàåòñÿ èç ñòåêà.202Ãëàâà 9.