shlfts

Arithmetic left shift of 16-bit value by a specified shift amount. Saturation does occur during a left shift if required. When an accumulator is the destination, zeroes out the LSP portion.

Note: This is not a bidirectional shift.
Assumptions

Assumed s_shftamount is positive.

OMR's SA bit was set to 1 at least three cycles before this code, that is, saturation on data ALU results enabled.

Prototype

  Word16 shlfts(Word16 sval2shft, Word16 s_shftamount)

  
Example
short result;

short s1 = 0x1234;

short s2 = 3;



result = shlfts(s1,s2);

// Expected value of result: 0x91a0