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 $raExplanation / 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.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.