Starting from:
$24.99

$22.49

Lab 05 MIPS loops

Lab 05

MIPS loops (again)
Implement a function sum(n) that sums up all integers from 0 to n (exclusive) using a loop. Use your knowledge of MIPS and the MIPS-related PDFs from Piazza (in the Resources section) to code up this solution. Use helloworld.s from the last lab to get you started.
FizzBuzz Using MIPS assembly, write the Fizz Buzz program. That is, print the integers 1 through 20 with the following conditions: if the number is divisible by 3, output “Fizz” instead of the number, “Buzz” if it’s divisible by 5, and “FizzBuzz” if it is divisible by both 3 and 5. Division in MIPS can be tricky: one has to use the div instruction like so: div $t0, $t1. This looks unlike any other instruction we have seen as there is no destination register. The div instruction produces two results: the quotient and the remainder. These values are stored outside of the normal registers in registers named HI and LO. After the div instruction LO will contain the quotient and HI will contain the remainder. You can access them with the mfhi and mflo instructions (move from HI and move from LO, respectively). The following code snippet divides 5 by 3: 1 with a remainder of 2.
li $t0, 5 li $t1, 3 div $t0, $t1 mfhi $t2 mflo $t3
Fibonacci in MIPS Implement the fib(n) function in MIPS that returns the nth Fibonacci number using recursive function calls. The example from the slide, “Non-Leaf Procedure Example” may be useful.

More products