Ðåôåðàòû. Ñèñòåìû àäðåñàöèè â Ìèíè- è ÌèêpîÝÂÌ

Äî îïåðàöèè MOVB 10,(R2)

                                                            00000305  :  90  ÊÎÏ

                                                            00000306  :  CF  <——— ïðåäñòàâëåíèå '@(R15)'

                                                            00000307  :  07  îòðèöàòåëüíîå ñìåùåíèå (309-10),

                                                            00000308  :  FD  ïðåäñòàâëåííîå â äîï. êîäå 

                                                            00000309  :  62  <——— ïðåäñòàâëåíèå '(R2)'

                         

                                                                        R2  = 00001000

                                                                      R15  = 00000305

                                                           (00000010) = 00     

                                                           (00001000) = FF      (R2)

Ïîñëå...

                                                                        R2  = 00001000

                                                                      R15  = 0000030A          <——— + 5

                                                           (00000010) = 00

                                                           (00001000) = 00                      <———     0

              

            Îòìåòèì, ÷òî ñìåùåíèå â äàííîì ïðèìåðå îòðèöàòåëüíîå è ïðåäñòàâëåíî â   äîïîëíèòåëüíîì êîäå. Äëèíà ñìåùåíèÿ è ñîîòâåòñòâóþùèé êîíêðåòíûé êîä ðåæèìà âû÷èñëÿåòñÿ àâòîìàòè÷åñêè íà ýòàïå êîìïèëèðîâàíèÿ. Åñëè èñïîëüçîâàòü ñ÷åò÷èê èíñòðóêöèé â êîñâåííîì ðåæèìå ñî ñìåùåíèåì, òî ïîëó÷èì åùå îäèí ñïîñîá àäðåñàöèè, êîòîðûé íàçûâàåòñÿ êîñâåííî-îòíîñèòåëüíûì. Çäåñü ñóììà ñîäåðæèìîãî ñ÷åò÷èêà èíñòðóêöèé ñêëàäûâàåòñÿ ñî ñìåùåíèåì è ðàññìàòðèâàåòñÿ êàê àäðåñ àäðåñà îïåðàíäà. Äëÿ ïðîãðàììèñòà ýòîò ðåæèì ÿâëÿåòñÿ ïðîñòî ðåæèìîì êîñâåííîé àäðåñàöèè ñ èñïîëüçîâàíèåì ïðîèçâîëüíîé ÿ÷åéêè äëÿ õðàíåíèÿ àäðåñà. Êàê è â ïðåäûäóùåì ïðèìåðå ñìåùåíèå äîëæíî áûòü ðàâíî ðàçíèöå ìåæäó àäðåñîì äàííîé ÿ÷åéêè è òåêóùèì ïîëîæåíèåì èíñòðóêöèè. Íà àññåìáëåðå ýòîò ðåæèì îáîçíà÷àåòñÿ @Addr, ãäå Addr - àäðåñ ÿ÷åéêè, â êîòîðîé íàõîäèòñÿ àäðåñ îïåðàíäà. Ðàññìîòðèì     èíñòðóêöèþ MOVB @10,(R2):


Äî îïåðàöèè MOVB @10,(R2)


                                                            00000305  :  90  ÊÎÏ

                                                            00000306  :  CC  <——— ïðåäñòàâëåíèå '@W^FD7(R15)'

                                                            00000307  :  07  îòðèöàòåëüíîå ñìåùåíèå (309-10), 

                                                            00000308  :  FD  ïðåäñòàâëåííîå â äîï. êîäå 

                                                            00000309  :  62  <——— ïðåäñòàâëåíèå '(R2)'


                                                                        R2  = 00001000

                                                                      R15  = 00000305

                                                           (00000000) = EE                      (00000010)

                                                           (00000010) = 00     

                                                           (00001000) = FF                      (R2)

Ïîñëå...

                                                                        R2  = 00001000

                                                                      R15  = 0000030A          <——  + 5

                                                          (00000000) = EE

                                                          (00000010) = 00

                                                          (00001000) = EE                       <——  EE



2.11  ÀÄÐÅÑÀÖÈß ÏÅÐÅÕÎÄÎÂ.

           

Ïîñëåäíèé ñïîñîá àäðåñàöèè, êîòîðûé áóäåò ðàññìîòðåí - ýòî àäðåñàöèÿ  ïåðåõîäîâ. Âîò ôîðìàò èíñòðóêöèè óñëîâíîãî ïåðåõîäà:


7                                                                                                                                                            0

ÊÎÄ ÎÏÅÐÀÖÈÈ

ÑÌÅÙÅÍÈÅ


Àäðåñàöèÿ â ýòèõ èíñòðóêöèÿõ îòëè÷àåòñÿ îò âñåõ ðàññìàòðèâàåìûõ òåì, ÷òî çäåñü íåò ñïåöèôèêàòîðà îïåðàíäà. Êàæäàÿ èíñòðóêöèÿ óñëîâíîãî ïåðåõîäà ñîñòîèò èç êîäà îïåðàöèè è ñëåäóþùåãî çà íèì áàéòíîãî ñìåùåíèÿ ñî çíàêîì. Ïðè ôîðìèðîâàíèè àäðåñà ïåðåõîäà ñìåùåíèå ñêëàäûâàåòñÿ ñ ñîäåðæèìûì ñ÷åò÷èêà èíñòðóêöèé ïîäîáíî òîìó, êàê ýòî äåëàëîñü ïðè îòíîñèòåëüíîé àäðåñàöèè. Ïî÷åìó âñåãî 128 áàéò ? Ýòî îáóñëîâëåíî òåì, ÷òî áîëüøèíñòâî ïåðåõîäîâ àäðåñîâàíû ê ÿ÷åéêàì, íàõîäÿùèìñÿ íà íåáîëüøîì ðàññòîÿíèè îò ñàìîé èíñòðóêöèè ïåðåõîäà. Ëèøü â íåêîòîðûõ ñëó÷àÿõ òðåáóåòñÿ èñïîëüçîâàíèå áîëåå ýôôåêòèâíûõ ðåæèìîâ àäðåñàöèè.

Ñòðàíèöû: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20



2012 © Âñå ïðàâà çàùèùåíû
Ïðè èñïîëüçîâàíèè ìàòåðèàëîâ àêòèâíàÿ ññûëêà íà èñòî÷íèê îáÿçàòåëüíà.