Posted: October 10th, 2022
For this assignment you must implement the multiplication algorithm for the LC-3.
Note: A double-word is stored in 2 contiguous words; the least significant bits are stored at the lower-address word. For example, x1A2B 3C4D is stored as
2) Implement the unsigned multiplication subroutine UNSMUL. The algorithm requires double-word shifts: ShiftRight(ACC:MPR). You must solve a bit carry-over problem since the double-words are stored as two single words.
3) Complete the code in main to perform the second test, XY = X * Y, using the same argument list, ARGS, that is used in the first test, AB = A * B.
4) The parameter-passing mechanism is an argument list located by R6. The IN-parameters are passed by value; OUT-parameters are passed by-address. Prior to return, your subroutine must store its OUT-parameter values (product) at the address in the argument-list.
3) Your subroutines must save/restore all working registers.
Place an order in 3 easy steps. Takes less than 5 mins.