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

             êà÷åñòâå ïðèìåðà âîçüìåì èíñòðóêöèþ 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 ïðåäóñìîòðåí ñïåöèàëüíûé ðåæèì àäðåñàöèè, íàçûâàåìûé ðåæèìîì êîðîòêîãî ëèòåðàëà.  ýòîì ðåæèìå êîíñòàíòà ñîäåðæèòñÿ íåïîñðåäñòâåííî â ñàìîì ñïåöèôèêàòîðå îïåðàíäà. Ëþáîé ñïåöèôèêàòîð îïåðàíäà, äâà ñòàðøèõ ðàçðÿäà êîòîðîãî ðàâíû íóëþ ñîäåðæèò ëèòåðàëüíóþ êîíñòàíòó â ìëàäøèõ øåñòè ðàçðÿäàõ.


                  00 ?????? <—— áàéò ñïåöèôèêàòîð îïåðàíäà

                      ëèòåðàë


Ñ ïîìîùüþ ëèòåðàëà â èíñòðóêöèè ìîãóò áûòü ïðåäñòàâëåíû öåëûå ÷èñëà â äèàïàçîíå îò 0 äî 63. Ìíåìîíèêà íà àññåìáëåðå S^#n, ãäå n - ëèòåðàë. Ðàññìîòðèì èíñòðóêöèþ MOVL S^#18,R3 êîòîðàÿ â ïàìÿòè áóäåò  ïðåäñòàâëåíà â âèäå D0 18 53. Çäåñü D0 - êîä èíñòðóêöèè, 18 - ëèòåðàë, 53 - ðåãèñòð R3 ïðè ïðÿìîé àäðåñàöèè.


Äî îïåðàöèè MOVL S^#18,R3

                                                                        R3 = 00001234

Ïîñëå...

                                                                        R3 = 00000018


Èç ïðèìåðà âèäíî, ÷òî ëèòåðàë áûë çàíåñåí â ðåãèñòð R3

2.9  ÈÍÄÅÊÑÍÛÉ ÐÅÆÈÌ

   

            Îäíèì èç íàèáîëåå ìîùíûõ ñðåäñòâ àäðåñàöèè â ÑÌ1700 ÿâëÿåòñÿ èñïîëüçîâàíèå ðåãèñòðîâ îáùåãî íàçíà÷åíèÿ äëÿ îïðåäåëåíèÿ èíäåêñà ýëåìåíòà â ìàññèâà äàííûõ. Âîò ôîðìàò ñïåöèôèêàòîðà êîìàíäû:

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



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