Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

The MIPS assembly program below computes the Fibonacci of agiven input. The inte

ID: 3615306 • Letter: T

Question

The MIPS assembly program below computes the Fibonacci of agiven input. The integer input is passed through register $a0, andthe result is returned in register $v0. In the assembly code, thereare a few errors. Correct the MIPS errors. FIB:  addi    $sp,$sp,   -12          sw      $ra, 0($sp)          sw      $s1, 4($sp)          sw      $a0,  8($sp)          slti      $t0,   $a0,   1          beq    $t0,   $0,   L1          addi   $v0, $a0, $0          j         EXIT L1:     addi   $a0,$a0,   -1          jal      FIB          addi   $s1, $v0,   $0          addi   $a0, $a0,   -1          jal      FIB          add   $v0, $v0, $s1 EXIT: lw    $ra,   0($sp)            lw    $a0,  8($sp)            lw    $s1,   4($sp)            addi $sp,   $sp,   12            jr     $ra          The MIPS assembly program below computes the Fibonacci of agiven input. The integer input is passed through register $a0, andthe result is returned in register $v0. In the assembly code, thereare a few errors. Correct the MIPS errors. FIB:  addi    $sp,$sp,   -12          sw      $ra, 0($sp)          sw      $s1, 4($sp)          sw      $a0,  8($sp)          slti      $t0,   $a0,   1          beq    $t0,   $0,   L1          addi   $v0, $a0, $0          j         EXIT L1:     addi   $a0,$a0,   -1          jal      FIB          addi   $s1, $v0,   $0          addi   $a0, $a0,   -1          jal      FIB          add   $v0, $v0, $s1 EXIT: lw    $ra,   0($sp)            lw    $a0,  8($sp)            lw    $s1,   4($sp)            addi $sp,   $sp,   12            jr     $ra         

Explanation / Answer

FIB:  addi    $sp,$sp,   -12

         sw      $ra, 0($sp)

         sw      $s1, 4($sp)

         sw      $a0,  8($sp)

         slti      $t0,   $a0,   1

         beq    $t0,   $0,   L1

         addi   $v0,$a0,   0

         j         EXIT

L1:     addi   $a0,$a0,   -1

         jal      FIB

         addi   $s1,$v0,   0

         addi   $a0, $a0,   -1

         jal      FIB

         add   $v0, $v0, $s1

EXIT: lw    $ra,   0($sp)

           lw    $a0,  8($sp)

           lw    $s1,   4($sp)

           addi $sp,   $sp,   12

Syntax of addi: addi $t,$s,imm

Imm(immediate value; a constant). So it will be a constant atthe respective instructions.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote