EM_BSIZE=SL
TIMEFACTOR= 1/300
-FORMAT="0%lo"
REGISTERS:
r0 = ("r0", 2), REG.
* Now mostly addressing modes of target machine *
********************************************************/
-regdef2 = {REGISTER reg;} 2 cost=(0,300) "*%[reg]"
+regdef2 = {REGISTER reg;} 2 cost=(0,300) "(%[reg])"
regind2 = {REGISTER reg; STRING ind;} 2 cost=(2,600) "%[ind](%[reg])"
reginddef2 = {REGISTER reg; STRING ind;} 2 cost=(2,1050) "*%[ind](%[reg])"
regconst2 = {REGISTER reg; STRING ind;} 2
********************************************************/
relative2 = {STRING ind;} 2 cost=(2,600) "%[ind]"
reldef2 = {STRING ind;} 2 cost=(2,1050) "*%[ind]"
-regdef1 = {REGISTER reg;} 2 cost=(0,300) "*%[reg]"
+regdef1 = {REGISTER reg;} 2 cost=(0,300) "(%[reg])"
regind1 = {REGISTER reg; STRING ind;} 2 cost=(2,600) "%[ind](%[reg])"
reginddef1 = {REGISTER reg; STRING ind;} 2 cost=(2,1050) "*%[ind](%[reg])"
relative1 = {STRING ind;} 2 cost=(2,600) "%[ind]"
regind4 = {REGISTER reg; STRING ind; } 4 cost=(2,3630) "%[ind](%[reg])"
relative4 = {STRING ind; } 4 cost=(2,3630) "%[ind]"
-regdef4 = {REGISTER reg;} 4 cost=(2,3240) "*%[reg]"
-regdef8 = {REGISTER reg;} 8 cost=(2,5220) "*%[reg]"
+regdef4 = {REGISTER reg;} 4 cost=(2,3240) "(%[reg])"
+regdef8 = {REGISTER reg;} 8 cost=(2,5220) "(%[reg])"
relative8 = {STRING ind; } 8 cost=(2,5610) "%[ind]"
regind8 = {REGISTER reg; STRING ind;} 8 cost=(2,5610) "%[ind](%[reg])"
erase(%[1]) |
{regconst2,%[1],tostring((0-8)*rom(1,1))} |
adi 2 |
-lae aar $2==2 && rom(1,1)==0 | SCR_ODD_REG |
+lae aar $2==2 && rom(1,1)==0 && defined(rom(1,3)) | SCR_ODD_REG |
"mul $$%(rom(1,3)%),%[1]"
erase(%[1]) |
%[1] |
adi 2 |
-lae aar $2==2 && defined(rom(1,1)) | SCR_ODD_REG |
+lae aar $2==2 && defined(rom(1,3)) | SCR_ODD_REG |
"mul $$%(rom(1,3)%),%[1]"
erase(%[1]) |
{regconst2,%[1],tostring((0-rom(1,3))*rom(1,1))} |