home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magazyn Exec 5
/
CD_Magazyn_EXEC_nr_5.iso
/
Recent
/
demo
/
mag
/
PowerAmiga4.lha
/
PowerAmiga4
/
ñòàòüè
/
optimize
< prev
next >
Wrap
Text File
|
2001-05-28
|
12KB
|
268 lines
<B>Îïòèìèçàöèÿ äëÿ ïðîöåññðîâ ñåðèè MC680x0.</B>
Äàííàÿ ñòàòüÿ íå ïðåòåíäóåò íà èñòèíó â ïîñëåäíåé èíñòàíöèè, îíà îñíîâûâàåòñÿ
íà ðàçëè÷íîé äîêóìåíòàöèè ïî ýòèì ïðîöåññîðàì è ìî¸ì ëè÷íîì îïûòå. Íåñîìíåííî
ñóùåñòâóåò ìàññà äðóãèõ ïðè¸ìîâ äëÿ îïòèìèçèðîâàíèÿ ïðîãðàìì, ÿ æå çàòðîíóë
ñàìûå îñíîâíûå. Ïðèñòóïàòü ê ÷òåíèþ ýòîé ñòàòüè ìîæíî, èìåÿ íåêîòîðûé îïûò â
ïðîãðàììèðîâàíèè ïîä ýòè ïðîöåññîðû. Õîòÿ è íîâè÷êàì áóäåò ïîëåçíî âçãëÿíóòü íà
ýòîò òðóä, íó ïðîôè è òàê çíàþò âñ¸ òî, ÷òî çäåñü íàïèñàíî.
Ïðîöåññîðû ôèðìû Motorola èìåþò â íàëè÷èè êýøè êîìàíä (68020 è âûøå), äàííûõ
(68030 è âûøå), êîíâåéåð (68030 è âûøå), ïðåäâûáîðêà è äð., ÷òî äåëàåò ðàñ÷¸ò
âðåìåíè âûïîëíåíèÿ êîìàíä ñëîæíûì. Äëÿ òîãî, ÷òîáû ïîíÿòü, êàêèå êîìáèíàöèè
äàþò áîëüøóþ ñêîðîñòü âûïîëíåíèÿ, íåîáõîäèìî ïðèäåðæèâàòüñÿ íåñêîëüêèõ ïðàâèë:
1. Âûáîðêà ïðîöåññîðîì êîìàíä èç êýøà ÌÍÎÃÎ áñòðåå íåæåëè ÷åì èç ïàìÿòè. Òàê
æå è ñ äàííûìè (åñëè íà ïðîöåññîðå óñòàíîâëåí êýø äàííûõ - 68030 è âûøå).
2. Êîìàíäû. ðàñïîëîæåííûå ïî àäðåñàì, êðàòíûì ÷åòûð¸ì, áóäóò âûïîëíÿòüñÿ
îäíîâðåììåííî (ïðàâèëüíî ñêàçàòü êîìàíäû âûðîâíåííûå ïî ãðàíèöå äëèííîãî ñëîâà).
Äëÿ 68020 âûïîëíèòñÿ îäíîâðåìåííî ìàêñèìóì äâå ïîñëåäîâàòåëüíûå êîìàíäû ò.ê.
ïðîöåññîð ñ÷èòûâàåò ñðàçó 4 áàéòà (äëèèíîå ñëîâî).
2.1 Ñ MC68030 ïîÿâëÿåòñÿ êîíâåéåð, êîòîðûé ïîçâîëÿåò âûïîëíèòü îäíîâðåìåííî òðè
ïîñëåäîâàòåëüíûå êîìàíäû, ðàçìåðîì 2 áàéòà, ëèáî òðè ñëîâà îäíîé êîìàíäû.
Êîíâåéåð 68060 ïîçâîëÿåò âûïîëíèòü ñðàçó 4 êîìàíäû.
3. Êàê ìîæíî ìåíüøå íàãðóæàéòå ïàìÿòü. Ò.å. âî âðåìÿêðèòè÷íûõ öèêëàõ
ïðîãðàììû âñå ïåðåìåííûå æåëàòåëüíî ðàçìåñòèòü â ðåãèñòðàõ, à íå çàïðàøèâàòü èõ
èç ïàìÿòè. Çäåñü òàêæå âàæíî çàìåòèòü, ÷òî çàïèñü â ïàìÿòü áûñòðåå ñ÷èòûâàíèÿ
èç íå¸.
4. Â ïðîãðàììàõ ñòàðàéòåñü ïîëüçîâàòüñÿ êîòîðîòêèìè ïåðåõîäàìè (bne.s, beq.s,
è ò.ï.). Ïðè âîçìîæíîñòè ñòàðàéòåñü çàãðóæàòü ðåãèñòðû ñïîñîáàìè áûñòðîé
çàãðóçêè (êîìàíäû moveq) - ýòè êîðîòêèå êîìàíäû ðàçìåðîì îäíî ñëîâî (2 áàéòà).
5. Êàòåãîðè÷åñêè íå ðåêîìåíäóåòñÿ èñïîëüçîâàòü çàðàíåå ïîäãîòîâëåííûå áîëüøèå
òàáëèöû â ïàìÿòè (ñâûøå 4-8 êá) è ïðèìåíåíèÿ áîëüøèõ ðàñöèêëèâàíèé (óáèðàíèå
îïåðàòîðîâ öèêëà). Ýòîò ñïîñîá äà¸ò âûèãðûø íà 68000, à âîò íà áîëåå ñòàðøèõ
ìîäåëÿõ ïðîöåññîðîâ ïðèðîñò â ñêîðîñòè áóäåò íåçíà÷èòåëüíûì.
6. Êàê ìîæíî ðåæå ïîëüçóéòåñü êîìàíäàìè äåëåíèÿ è óìíîæåíèÿ (divs, divu, muls,
mulu è ò.ï.) ýòî î÷åíü ìåäëåííûå êîìàíäû, à ÷àñòü ýòèõ êîìàíä è âîâñå
îòñóòñòâóåò â 68060 (ïðèìåíÿåòñÿ ïðîãðàììíàÿ ýìóëÿöèÿ). Ïðèìåíÿòü ýòè êîìàíäû
âî âðåìÿêðèòè÷íûõ öèêëàõ êàòåãîðè÷åêè íå ðåêîìåíäóåòñÿ, ýòî ñóùåñòâåííî
çàìåäëÿåò âûïîëíåíèå ïðîãðàììû.
7. Äëÿ ïåðåáðîñêè áîëüøîãî êîëè÷åñòâà äàííûõ ìîæíî ïðèìåíÿòü êîìàíäû move16,
îíè ïîÿâèëèñü íà÷èíàÿ ñ ïðîöåññîðà 68040.
Òåïåðü ïîäðîáíåå ïî êàæäîìó èç ïóíêòîâ.
1. Êýø êîìàíä ïîÿâëÿåòñÿ, íà÷èíàÿ ñ ïðîöåññîðà MC68020. Åãî ðàçìåð ñîñòàâëÿåò
256 áàéò. Êýø äàííûõ ïîÿâèëñÿ ó ïðîöåññîðà MC68030 è åãî ðàçìåð òàê æå
ñîñòàâëÿåò 256 áàéò. Ó 68040 îáà êýøà óâåëè÷åíû â ðàçìåðå äî 4096 áàéò. 68060
îáëàäàåò äâóìÿ âîñüìèêèëîáàéòíûìè êýøàìè (8192).
Âñå îñíîâíûå öèêëû ñòàðàéòåñü óëîæèòü â êýø, ðàñ÷¸òû, ïåðåáðîñêè áîëüøèõ áëîêîâ
äàííûõ, ðàáîòà ñ òàáëèöàìè è ò.ä. äîëæíû â íåãî óêëàäûâàòüñÿ.
Äîïóñêàþòñÿ ðàñöèêëèâàíèÿ â ïðåäåëàõ <B>êýøà</B>.
Ïðèìåð:
prtback_loop1
move.l (a0)+,a1
add.l d4,a1
move.l d0,d6
prtback_loop
rept 20 ;ïîâòîðèòü 20 ðàç
move.l (a2)+,(a1)+
endr ;êîìàíäó move.l (a2)+,(a1)+
dbf d6,prtback_loop
dbf d5,prtback_loop1
Âîò òàêîé ïðîñòîé öèêë çàíèìàåò 50 áàéò. Îí ëåãêî óêëàäûâàåòñÿ â êýø âñåõ
ïðîöåññîðîâ. (Âñå ïðèìåðû ïðèâîäÿòüñÿ èç ðåàëüíûõ ïðîãðàìì. ïðèì. àâòîðà).
Åñëè óëîæèòü öèêë â êýø ôèçè÷åñêè íå ïîëó÷àåòñÿ, òî òîãäà ïîïûòàéòåñü ðàçáèòü
åãî íà íåñêîëüêî áîëåå ìåëêèõ öèêëîâ, óêëàäûâàþùèõñÿ â êýø. Íà ýòîì ìåòîäå
îñíîâàíû êîíâåðòåðû chunky to planar äëÿ 68020/68030 ïðîöåññîðîâ, êîòîðûìè
ïîëüçóþòñÿ âñå äåìîìåéêåðû.
Ñ êåøåì äàííûõ íåìíîãî ïî äðóãîìó. Âñ¸, ÷òî ñ÷èòûâàåòñÿ èç ïàìÿòè ëþáûì
ìåòîäîì àäðåñàöèè ïîïàäàåò â ýòîò êýø. Íî â ýòîì êýøå ïðàêòè÷åñêè íåâîçìîæíî
ðàçìåñòèòü <U>óêàçàòåëè</U> íà áëîêè äàííûõ èëè æå ïîñòîÿííûå ïåðåìåííûå (åñëè
èõ ìíîãî - 100-200 áàéò).
Ïðèìåð:
move.l #tableaddr1,a0
move.l #tableperem,a1
move.l #new,a2
loop1 move.l (a0)+,d2
move.l (a1)+,d0
lsr.l #3,d0
move.l (a1),d3
move.l (a3),d1
add.l d1,d0
move.d0,(a2)+
dbf d4,loop1
Äàííûå èç a0 è a1 áóäóò îêàçâàòñÿ â êýøå äàííûõ è ïðè ïîâòîðíîì èñïîëüçîâàíèè
ñ÷èòûâàòüñÿ îòòóäà.
2. Ïðîöåññîð çà îäèí ðàç ñ÷èòûâàåò 4 áàéòà (68020), íî äåëàåò ýòî ïî àäðåñàì
âûðîâíåííûì ïî äëèííîìó ñëîâó. Ïðèìåð:
moveq.l #3,d1
add.l d1,d0
Åñëè ïåðâàÿ êîìàíäà áóäåò âûðîâíåíà ïîä äëèííîìó ñëîâó, òî ïðîöåññîð ñðàçó
ñ÷èòàåò äâå êîìàíäû è âûïîëíèò èõ, íå çàòðà÷èâàÿ âðåìÿ íà âòîðóþ êîìàíäó.
Ñëåäèòå çà äëèííîé êîìàíä, â ïðåäâûáîðêó ïîïàäàþò êîìàíäû ðàçìåðîì â äâà áàéòà.
Âûðîâíÿòü êîìàíäû ìîæíî ïðè ïîìîùè ìíåìîíèêè àññåìáëåðà cnop 0,4.
2.1 Êîíâååð, ïîÿâèâøèé â ïðîöåññîðå 68030 ïîçâîëèë âûïîëíÿòü îäíîâðåìåííî ñðàçó
òðè êîìàíäû äëèííîé â ñëîâî, ò.å. ýòîò ïðîöåññîð ìîæåò ñ÷èòàòü ñðàçó 6 áàéò èëè
3 ñëîâà. À MC68060 ìîæåò êóäà áîëüøå - ýòîò ïðîöåññîð âåíåö CISC òåõíîëîãèè -
ìîæåò çà îäèí òàêò âûïîëíèòü ñðàçó 4 êîìàíäû.
Ïðèìåð:
add.l d0,d0
add.l d0,d0
add.l d0,d0
add.l d0,d0 ;óìíîæåíèå ñîäåðæèìîãî d0 íà 16.
Ýòè ÷åòûðå êîìàíäû ìîãóò áûòü âûïîëíåíû çà 1 (!) òàêò.
3. Íàãðóçêà íà ïàìÿòü â îñíîâíûõ öèêëàõ äîëæíà áûòü ìèíèìàëüíîé
(ñ÷èòûâàíèå/çàïèñü äàííûõ è ïåðåìåííûõ). Ëó÷øå âñ¸ çàðàíåå ðàçëîæèòü â
ñâîáîäíûõ ðåãèñòðàõ, ïî âîçìîæíîñòè óêîðîòèòü êîìàíäû, ñîõðàíÿòü ëó÷øå â
ðåãèñòðàõ, áåç èñïîëüçîâàíèÿ ñòåêà (movem).
Ïðèìåð ñîõðàíåíèÿ ñ ïîñëåäóþùèì âîññòàíîâëåíèåì:
loop move.l d0,d2 ;ñîõðàíÿåì d0 â d2
add.l (a0)+,d0
lsr.l #3,d0
move.l d0,(a1)+
move.l d2,d0 ;âîññòàíàâëèâàåì
dbf d3,loop
Ïðèìåð óêîðà÷èâàíèÿ:
move.l #80,a5 ;çàðàíåå çàãðóæàåì a5 ÷èñëîì
c2f11 rept 2*step
movem.l (a0)+,d0-d4/d6-d7/a2-a4 ;read 40 byte
movem.l d0-d4/d6-d7/a2-a4,-(a1) ;write 40 byte
add.l a5,a1 ;óêîðà÷èâàíèå
endr
dbf d5,c2f11
Åñëè â ýòîì ñëó÷àå â a1 ñêëàäûâàòü ñ ÷èñëîì (#80), òî âìåñòî 2õ áàéò êîìàíäà
çàéì¸ò øåñòü è êðîìå áîëåå ìåäëåííîãî èñïîëíåíèÿ, íè î êàêîì ïàðàëåëüíîì
âûïîëíåíèè íå ìîæåò áûòü è ðå÷è.
4. Êîðîòêèå ïåðåõîäû (bcc.s, ãäå cc îäíî èç óñëîâèé) çàíèìàþò äâà áàéòà. È
åñòåñòâåííî îíè âïîëíÿþòüñÿ áûñòðî. Íî, êàê ãîâîðèòñÿ, áåñïëàòíûé ñûð åñòü
òîëüêî â ìûøåëîâêå. Ýòî âñ¸ äîñòèãàåòñÿ çà ñ÷¸ò òîãî, ÷òî äàëüíîñòü ïåðåõîäîâ
ñîñòàâëÿåò 128 áàéò (íàçàä èëè âïåð¸ä). È ñâÿçè ñ ýòèì âàø öèêë íåîáõîäèìî
óêëàäûâàòü â 128 áàéò.
Âîîáùå çà êîìàíäàìè ïåðåõîäà íàäî ñëåäèòü âíèìàòåëüíî: îíè îòíèìàþò âðåìåíè
áîëüøå îáû÷íîãî ò.ê. ïðèõîäèòüñÿ ïåðåõîäèòü íà íîâûé àäðåñ. Ïîýòîìó äàííîìó
ôàêòîðó íàäî óäåëèòü îñîáîå âíèìàíèå. Åñëè íå ïîëó÷àåòñÿ èñïîëüçîâàòü êîðîòêèå
ïåðåõîäû, ïðèìåíÿéòå êîìàíäû dbf, îíè îäíîâðåìåííî ñîâìåùàþò â ñåáå êîìàíäû
ïåðåõîäà è óìåíüøåíèÿ ëþáîãî èç ðåãèñòðîâ d0-d7 è ìîãóò âûïîëíÿòü áîëåå äàëüíèå
ïåðåõîäàìè, õîòü è çàíèìàþò â ïàìÿòè 4 áàéòà.
4.1 Äëÿ áûñòîé çàãðóçêè ðåãèñòðîâ ïðèìåíÿéòå êîìàíäû moveq, ýòè êîìàíäû
ñïîñîáíû çàãðóçèòü â ðåãèñòð ÷èñëî îò 0 äî 8ìè, ïðè÷¸ì îíè çàíèìàþò âñåãî äâà
áàéòà è âûïîëíÿþòñÿ áûñòðåå îáû÷íîé çàãðóçêè (move). Êðîìå áûñòðîé çàãðóçêè
åñòü áûñòðîå ñëîæåíèå (addq) è âû÷èòàíèå (subq), êîòîðûå èìåþò òå æå
õàðàêòåðèñòèêè, ÷òî è moveq (2 áàéòà, äèàïàçîí ÷èñåë îò 0 äî 8ìè).
5. Èñïîëüçîâàòü áîëüøèå òàáëèöû è ðàñöèêëèâàíèÿ ÍÅ ÐÅÊÎÌÅÍÄÓÅÒÑß ! Ëó÷øå
ïðîèçâåñòè âñå ðàñ÷¸òû â îñíîâíîì öèêëå, õîðîøî åãî ïðîîïòèìèçèðîâàâ, è óëîæèòü
â êýø, ìèíèìèçèðîâàâ îáðàùåíèÿ ê ïàìÿòè. Ýòî åñòåñòâåííî êàñàåòñÿ âñåõ
ïðîöåññîðîâ, èìåþùèõ êýø. Êàê óæå ïèñàëîñü, êýø-ïàìÿòü çíà÷èòåëüíî áûñòðåå
âíåøíåé ïàìÿòè, ïðè÷¸ì ñêîðîñòü âíåøíåé ïàìÿòè â öåëîì íå çàâèñèò îò ñêîðîñòè
ïðîöåññîðà. À çíà÷èò óáèðàòü îïåðàòîðû öèêëà íåöåëåñîîáðàçíî. Ñúýêîíîìèâ íà
ýòèõ îïåðàòîðàõ, ïðîãðàììà áóäåò âûíóæäåíà ðàáîòàòü òîëüêî âî âíåøíåé ïàìÿòè, ñî
âñåìè âûòåêàþùèìè.
Îïåðàòîðû ïåðåä âïîëíåíèåì ïîïàäàþò â êýø èç ïàìÿòè, è, åñëè ïåðåõîä áóäåò
îñóùåñòâë¸í íà êîìàíäó, êîòîðàÿ íàõîäèòñÿ â êýøå, òî äàëåå âåñü öèêë áóäåò
âûïîëíÿòüñÿ èç êýøà.
Òî æå è ñ áîëüøèìè òàáëèöàìè, âûáîðêà äàííûõ èç ïàìÿòè îãðàíè÷åíà å¸ ñêîðîñòüþ.
Ò.å. ïðîèçâåäÿ çàðàíåå âñå ðàñ÷¸òû è ñ÷èòûâàÿ äàííûå èç ïàìÿòè âû áóäåòå
îãðàíè÷åíû ñêîðîñòüþ ïàìÿòè. À åñëè âû õîðîøî ïðîîïòèìèçèðóåòå ðàñ÷¸òû, óëîæèòå
â êýø, òî íà áîëåå áûñòðîäåéñòâóþùèì ïðîöåññîðå ïðèðîñò â ñêîðîñòè áóäåò áîëåå
çíà÷èòåëüíûì.
Ýòè ñîïîñîáû áûëè ýôôåêòèâíû íà 68000 è åñëè óæ íàäî âûæàòü èç ìàøèíû ñ ýòèì
ïðîöåññîðîì âñ¸ âîçìîæíîå, äåëàéòå îòäåëüíóþ âåðñèþ.
Åù¸ ìîìåíò - <B>íå ïðèìåíÿéòå ñàìîìîäèôèêàöèþ êîäà</B> ! Ðàíüøå ìíîãèå
äåìîìåéêåðû ãðåøèëè èçìåíåíèåì ó÷àñòêîâ êîäà ïðîãðàììû ñàìîé ïðîãðàììîé, ýòî
äàâàëî ïðèðîñò â ñêîðîñòè äëÿ 68000, à âîò äëÿ ïðîöåññîðîâ ñ êýøåì ýòîò ïîäõîä
çàïðåù¸í. Åñëè òàêîé ó÷àñòîê êîäà îêàæåòñÿ â êýøå è íà÷í¸ò âûïîëíÿòüñÿ, òî â
ñàìîì êýøå ÍÈÊÀÊÎÉ ìîäèôèêàöèè ïðîèñõîäèòü íå áóäåò â ñèëó åãî îñîáåííîñòåé. À
ýòî çíà÷èò, ÷òî ïðîãðàììà íà÷í¸ò ðàáîòàòü íå êàê çàäóìûâàëîñü! Ïîñëåäñòâèÿ
ìîãóò áûòü êàòàñòðîôè÷åñêèìè.
6. Êîìàíäû äåëåíèÿ è óìíîæåíèÿ (divs, divu, muls, mulu è ò.ï.) âûïîëíÿþòñÿ
ìåäåëííî, ïîýòîìó äëÿ óìíîæåíèÿ/äåëåíèÿ íà ÷èñëà, êðàòíûå ñòåïåíÿì äâîéêè ìîæíî
ïðèìåíèòü îïåðàòîðû lsr (äåëåíèå), lsl èëè ïðîñòî êîìàíäû ñëîæåíèÿ äëÿ
óìíîæåíèÿ.
Ïðèìåðû:
Äëÿ óìíîæåíèÿ íà 16 ìîæíî ïðèìåíèòü 4 ñëîæåíèÿ.
add.l d0,d0 ;íà 2
add.l d0,d0 ;íà 4
add.l d0,d0 ;íà 8
add.l d0,d0 ;íà 16
Ýòî æå ìîæíî ïðîäåëàòü îäíîé êîìàíäîé lsl.
lsl.l #4,d0
Ñêîðîñòü âûïîëíåíèÿ ýòîãî îïåðàòîðà çàâèñèò îò ÷èñëà ñäâèãàåìûõ áèòîâ, ò.å. êî
âðåìåíè âïîëíåíèÿ êîìàíäû íàäî áóäåò äîáàâèòü åù¸ è êîë-âî ñìåùàåìûõ áèò. È â
íåêîòîðûõ ñëó÷àÿõ ýòîò âàðèàíò ìîæåò îêàçàòüñÿ ìåäëåííåå ïðåäûäóùåãî.
À ÷òî äåëàëòü åñëè íàäî óìíîæèòü ê ïðèìåðó íà 12 ? Ñïðîñèòü äîòîøíûé
÷èòàòåëü. À âîò, ÷òî:
move.l d0,d1 ;ñîõðàíÿåì d0 â d1
add.l d0,d0 ;óìíîæàåì íà 2
add.l d1,d0 ;à âîò òàê ìû ïîëó÷àåì óìíîæåíèå íà 3 !
add.l d0,d0 ;äàëåå óìíîæåíèå íà 6
add.l d0,d0 ;è íàêîíåö íà 12
Äåëåíèå ìîæíî îñóùåñòâèòü ñ ïîìîùüþ êîìàíäû lsr. Íàïðèìåð lsr.l #2,d0, äà¸ò
äåëåíèå íà 4, à lsr.l #4,d0 äà¸ò äåëåíèå íà 16òü.
6.1  MC68060 äëÿ óâåëè÷åíèÿ ïðîèçâîäèòåëüíîñòè áûëè óáðàíû íåêîòîðûå
öåëî÷èñëåííûå êîìàíäû äëÿ òîãî, ÷òîáû ïîäíÿòü îáùóþ ïðîèçâîäèòåëüíîñòü.Äëÿ ýòèõ
êîìàíä ñóùåñòâóåò ïðîãðàììíàÿ ýìóëÿöèÿ (68060.library). À ýòî çíà÷èò, ÷òî
ïðèìåíÿòü ýòè êîìàíäû íå ðåêîìåíäóåòñÿ ò.ê. ýìóëÿöèÿ â ëþáîì ñëó÷àå ìåäëåíåå
íåïîñðåäñòâåííîãî âûïîëíåíèÿ. Âîò ýòè êîìàíäû:
divu.l <ea>,Dr:Dq ;ãäå Dr,Dq ðåãèñòð èç äèàïàçîíà D0-D7
divs.l <ea>,Dr:Dq ;---'---
mulu.l <ea>,Dr:Dq ;---'---
muls.l <ea>,Dr:Dq ;---'---
movep Dx,(d16,Ay) ;ãäå Dx ðåãèñòð èç äèàïàçîíà D0-D7, Ay - A0-A7
movep (d16,Ay),Dx ;---'---
chk2 <ea>,Rn ;ãäå Rn ðåãèñòð èç äèàïàçîíà A0-A7,D0-D7
cmp2 <ea>,Rn ;---'---
cas2 Dc1:Dc2,Du1:Du2,(Rn1:Rn2) ;Dc,Du - D0-D7, Rn - D0-D7,A0-A7
cas Dc:Du,<ea> ;Dc,Du - D0-D7
<ea> - ëþáîé èç ìåòîäîâ àäðåñàöèè.
7. Â 68040 ïîÿâèëèñü íîâûå êîìàíäû äëÿ ïåðåáðîñêè äàííûõ, ñïîñîáíûå çà îäèí
ðàç ïåðåáðîñèòü 16 áàéò, îíè äàþò íåáîëüøîå óñêîðåíèå íà ïåðåáðîñêå äàííûõ. Âîò
èõ ïîëíûé ñïèñîê:
move16 (Ax)+,(Ay)+
move16 (xxx).l,(An)
move16 (xxx).l,(An)+
move16 (An),(xxx).l
move16 (An)+,(xxx).l
ãäå Ax è An ëþáîé ðåãèñòð èç äèàïàçîíà A0-A7
Âñå êîìàíäû ìîãóò ïåðåáðàñûâàòü òîëüêî 16 áàéò è òîëüêî ïî àäðåñàì êðàòíûì
16-òè, íà áîëüøèõ áëîêàõ äàííûõ îíè äàþò äåéñòâèòåëüíî ïðèðîñò â ñêîðîñòè, íî
îãðàíè÷åíû äàííûìè ôàêòîðàìè. Èõ ìîæíî ïðèìåíÿòü äëÿ áîëüøèõ ïåðåáðîñîâ äàííûõ.
Levitator/team PowerAmiga