Díky za zpětnou vazbu! Mě se tento procesor hodně líbí, oni se odklonili od klasického RISCu (aka MIPS, AMD 29k, SPARC atd.) a skutečně vytvořili elegantní a interně asi pořád ještě jednoduchý design s několika DSP instrukcemi (MAC, možná bych sem zařadil i DIVx).
Trošku jsem ten popis upravil ("dosah" adresování atd.), ale mám pocit, že MOVA pořád odpovídá spíše LEA; takto to mají do vyššího kódu přepsané autoři:
MOVA(long d) /* MOVA @(disp,PC),R0 */ { long disp; disp=(0x000000FF & (long)d); R[0]=(PC&0xFFFFFFFC)+(disp<<2); PC+=2; }
A používá se to stylem:
MOVA STR,R0 ; adresa retezce MOV.B @R0,R1 ; nacteni prvniho znaku
nebo (nejaky cislicovy filtr):
MOVA TBLM,R0 ; adresa prvniho pole -> R1 MOV R0,R1 MOVA TBLN,R0 ; adresa druheho pole -> R0 CLRMAC ; vymaz MACH+MACL MAC.L @R0+,@R1+ ; krok filtru
tj. načtení adres do R0 a R1 a potom v MAC.L použití registrů R0 a R1 pro adresování.