Somma 8 elementi (Byte) di un array memorizzato a partire dall'indirizzo 0x40000000 Soluzione 1 senza usare istruzione di SET init: LHI R4,0x4000 ; R4 = 0x4000 ## 0x0000 = 0x40000000 ADD R30,R0,R0 ; R30 = R0 + R0 = 0 ADDUI R20,R0,0x0008 ; R20 = R0 + 8 = 8 loop: SUBI R20,R20,0xFFFF ; R20 = R20 - 1 ADDU R25,R4,R20 ; R25 = R4 + R20 LBU R1,0x0000(R25) ; R1 = M[R25 + 0x00000000] ADDU R30,R30,R1 ; R30 = R30 + R1 BNEZ R20, loop ; se R20!=0 salta a loop NOP ; Qui risultato in R30 NOP Soluzione 2 usando istruzione di SET init: LHI R4,0x4000 ; R4 = 0x4000 ## 0x0000 = 0x40000000 ADD R30,R0,R0 ; R30 = R0 + R0 = 0 ADDU R20,R0,R0 ; R20 = R0 + R0 = 0 loop: ADDU R25,R4,R20 ; R25 = R4 + R20 LBU R1,0x0000(R25) ; R1 = M[R25 + 0x00000000] ADDU R30,R30,R1 ; R30 = R30 + R1 ADDUI R20,R20,0x0001 ; R20 = R20 + 1 SEQI R21,R20,0x0008 ; se R20 == 8 -> R21=1 BEQZ R21, loop ; se R20!=0 salta a loop NOP ; Qui risultato in R30 NOP ; NOP