Question: Please help with this MIPS Assembly Langauge Program. Write a program which, given two nonnegative integers x and y, computes the value of x*y. You
Please help with this MIPS Assembly Langauge Program.

Write a program which, given two nonnegative integers x and y, computes the value of x*y. You must accomplish this task using the branching, comparison, shifting and addition in particular, you may not employ the use of functions. Don't implement the multiplication problem as a loop that adds the number x to itself y times. You must implement the problem using shifting and addition. You are also not permitted to use mult, mul, or similar instructions. Prompt the user for the two integers, each in turn. If the user enters a negative number, remind them that they must provide a nonnegative integer, and ask again. Here are some sample executions: x*y calculator Please enter x: 5 Please enter y: 5*7 = 35 x*y calculator Please enter x: theta Please enter y: 4 theta*4 = theta x*y calculator Please enter x: 6 Please enter y: theta 6*theta = theta x*y calculator Please enter x: -3 Integer must be nonnegative. Please enter x: 2 Please enter y: -4 Integer must be nonnegative. Please enter y: 2 theta 2*2 theta = 4 theta To implement multiply in terms of adding and shifting, you need to decompose one of the numbers by powers of 2, for example: 7 * 5 = 111_2 * 101_2 = 111_2 * (1 * 2^2 + 0 * 2^1 + 1 * 2^0) = 111_2 * 2^+ 111_2 * 2^2 = 111_2
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
