beautypg.com

Asl arithmetic shift left asl – Motorola DSP96002 User Manual

Page 215

background image

MOTOROLA

DSP96002 USER’S MANUAL

A - 27

ASL

Arithmetic Shift Left

ASL

Operation:

Assembler Syntax:

ASL D

(move syntax - see the MOVE instruction description.)

ASL S,D

(move syntax - see the MOVE instruction description.)

ASL #shift,D

Description:

Single-bit shift: Arithmetically shift the low portion of the specified operand one bit to the left. The carry

bit receives the MSB shifted out of the low portion of the source operand. A zero is shifted into the least

significant bit of the destination operand. The result is stored in the low portion of D.

Multi-bit shift: Arithmetically shift the low portion of the specified operand N bits (up to 63 bits) to the left.

The number of bits to shift is determined by the 11-bit unsigned integer located in the 11 LSBs of the high

portion of S or by a 6-bit immediate field in the instruction. The carry bit receives the Nth bit shifted out of

the low portion of the source operand; it is cleared for a shift count of zero. N zeros are shifted into the

LSBs of the destination operand. If more than 32 bits are shifted, zeros will be stored in D and the carry

bit. The result is stored in the low portion of D.

Input Operand(s) Precision: 32-bit integer.

Output Operand Precision: 32-bit integer.

CCR Condition Codes:

C

- Set if the last bit shifted out of the operand is set. Cleared otherwise. Cleared for a

shift count of zero.

V

- Set if the MSB is changed any time during the shift operation. Cleared otherwise.

Z

- Set if result is zero. Cleared otherwise.

N

- Set if result is negative. Cleared otherwise.

I

- Not affected.

LR

- Not affected.

R

- Not affected.

A

- Not affected.

ER Status Bits:

Not affected.

IER Flags:

Not affected.

31

0

C

0

(parallel data bus move)