This assignment must be submitted as a single file named yourlastname.asm for Assignment 4 of the CSCI 255 section on UNCA moodle by 11:00 PM on Wednesday, 2 November.
This assignment is similar to that
exciting classroom presentation
of an LC-3 implementation of C's <
operator.
However, this time you're going to implement C's
<<
operator for two unsigned integers.
For two unsigned integers E1 and E2,
E1 <<
E2
is the result of shifted E1 to the left
E2 times while shifting a zero into the vacated rightmost bit.
If E1 is stored in R1
,
E2 is stored in R2
,
and the result is to be stored in R0
;
this means copying R1
into R0
and
then adding R0
to itself R2
times.
The C language reference manual specifies that, if E2 is greater than the number of bits in E1 (which is 16 for the LC-3), the result of the shift is "undefined". However, let's make the result 0 in that case.
This isn't as hard as Assigment 3, but you've got a week to do it.