MIPS addition och multiplikation
Jag ska lösa följande "ekvation" och spara allt i $v0. Mitt försök till lösning hittar ni under, problemet är $a0+1 biten . Har jag tänkt rätt?
Uppgift: 2*($a0+1) , spara i $v0.
Mitt försök:
addi $a0, $a0, 1 # a0=a0+2
sub $a0, $a0 0 #Tanken här: a0=a0-1 , där a0 är från raden ovan
sll $t0, $ao, 1 #t0= 2*(a0+1)
add $v0, $t0, $a0 # v0=t0+a0
Tack på förhand!
Nej jag tror att du krånglat till det för mycket.
Ett tänkt flöde:
addera 1 till register a0 lägg svaret i a0
multiplicera a0 med 2 genom att skifta innehållet vänster ett steg. Eller addera a0 med sig självt. (Har du kommit så långt att du kan ta hand om carrybit?)
Flytta innehållet i a0 till v0
Sen får du översätta till rätt syntax för den assembler du använder
addi $a0, $a0, 1 # a0=a0+1
add $v0, $a0, $a0 #v0= 2*(a0+1)
Tack för hjälpen till båda två! :)