Asll, Multiple-bit arithmetic shift left (dalu), Description – Freescale Semiconductor StarCore SC140 User Manual

Page 366: Status and conditions that affect instruction, Operation assembler syntax

Advertising
background image

A-52

SC140 DSP Core Reference Manual

ASLL

ASLL

Multiple-Bit Arithmetic Shift Left (DALU)

ASLL

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.

Status and Conditions that Affect Instruction

None.

Operation

Assembler Syntax

Dn

<< #u5 → Dn

ASLL #u5,Dn {0

≤ u5 < 32}

If Da[6:0]

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

else Dn

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

ASLL Da,Dn {–40

≤ Da[6:0] ≤ 40}

ASLL #u5,Dn

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

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.

0

0

15

16

31

32

39

C

0

0

15

16

31

32

39

C

0

15

16

31

32

39

C

Da[6:0]

> 0

Da[6:0]

< 0

39

Advertising