getLocation (symbol s) { if(s.type==L_INT) return s.ToString(); if(s.type==ID) return "#" + toString(tab_symbol[s].offset) } 8 5 prawy_argument=8 lewy_argument=5 wynik = "$t" + cnt lewa_LOC = getLocation(lewy_argument); prawa_LOC = getLocation(prawy_argument); wynik_LOC = getLocation(wynik); MOV R1, lewa_LOC MOV R2, prawa_LOC MUL R1, R2 MOV wynik_LOC, R1 MOV R1,5 MOV R2,8 MUL R1,R2 MOV #166,R1 MOV R1,41 MOV R2,#166 SUB R1,R2 MOV #167,R1 MOV #0,#167 MOV R0,4 MOV R1,#0 MOV R2,1 ADD R1,R2 MOV #168,R1 MOV R1,15 MOV R2,#168 MUL R1,R2 MOV #169,R1 ADD R0,#169 MOV R1,#0 MOV R2,1 SUB R1,R2 MOV #170,R1 MOV R1,3 MOV R2,#170 MUL R1,R2 MOV #171,R1 ADD R0,#171 MOV R1,1 MOV R2,#0 MUL R1,R2 MOV #172,R1 ADD R0,#172 MOV #2,@R0 3]2 $t7 3]1 b 2]2 $t6 2]1 $t5 1]2 $t4 1]1 $t3 +1 +b $t2 -$t1 *8 *5 -41