questionable1 180 – Fd. Medlem
Postad: 24 aug 2018 14:26

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! 

Ture 10335 – Livehjälpare
Postad: 24 aug 2018 15:55 Redigerad: 24 aug 2018 15:57

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

Affe Jkpg 6630
Postad: 24 aug 2018 19:25

addi $a0, $a0, 1       # a0=a0+1
add  $v0, $a0, $a0  #v0= 2*(a0+1)

questionable1 180 – Fd. Medlem
Postad: 25 aug 2018 15:06

Tack för hjälpen till båda två! :) 

Svara
Close