Implement the unsigned multiplication subroutine unsmul

 

 

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.

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *