Question
3. (20 points) Translate the code below into MIPS assembly. Also write a main function that reads in an integer num and makes the call
3. (20 points) Translate the code below into MIPS assembly. Also write a main function that reads in an integer num and makes the call towers(num, 1, 3, 2). This function tells the moves needed to move num disks from peg 1 to peg 3 in the Towers of Hanoi problem. (You can look at the Wikipedia page for this problem to learn about it if you dont already know it.)
public static void towers(int n, int from, int to, int extra) { if(n > 1) towers(n-1, from, extra, to); System.out.print("Move disk "+n+" from peg "); System.out.println(from + " to peg " + to); if(n > 1) towers(n-1, extra, to, from); }
For printing, dont assemble a big string and print it all at once. Instead print the string Move disk , then the integer value of n, then the string from peg , then the integer value of from, etc.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started