ASLL

ASLL

Multiple-Bit Arithmetic Shift Left (DALU)

ASLL

Operation

 

Assembler Syntax

 

Dn << #u5 → Dn

ASLL

#u5,Dn {0 u5 < 32}

 

If Da[6:0] > 0, then Dn << Da[6:0] → Dn

ASLL

Da,Dn {–40 Da[6:0]

40}

 

else Dn >> Da[6:0] → Dn

 

 

 

Description

These operations shift the contents of Dn by the amount in #u5 or in Da. Bits shifted out of Dn are lost except for the last bit, which is stored in the C bit.

ASLL #u5,Dn

Shifts left by #u5, an immediate unsigned 5-bit integer. The vacated positions to the right are zero-filled.

C

39

32 31

16 15

0

0

ASLL Da,Dn

Performs a bidirectional arithmetic shift of Dn by Da[6:0] bits and stores the result in Dn. If Da[6:0] is positive, the shift is left. If shifting left, the vacated positions to the right are zero-filled. If Da[6:0] is negative, the shift is right. If shifting right, the MSB of the source is copied into the vacated positions, creating a sign-extension.

Da[6:0] > 0

Da[6:0] < 0

C

39

32 31

16 15

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

39

 

 

 

 

39

32 31

16 15

0

 

 

 

 

 

C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Status and Conditions that Affect Instruction

None.

A-52

SC140 DSP Core Reference Manual

Page 366
Image 366
Freescale Semiconductor SC140 specifications Multiple-Bit Arithmetic Shift Left Dalu, Asll #u5,Dn, Asll Da,Dn