beautypg.com

Asr arithmetic shift right asr – Motorola DSP96002 User Manual

Page 217

background image

MOTOROLA

DSP96002 USER’S MANUAL

A - 29

ASR

Arithmetic Shift Right

ASR

Operation:

Assembler Syntax:

ASR D

(move syntax - see the MOVE instruction description.)

ASR S,D

(move syntax - see the MOVE instruction description.)

ASR #shift,D

Description:

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

bit receives the LSB shifted out of the low portion of the source operand. The MSB of the operand is held

constant. 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 right.

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 copies of the MSB of the

operand are shifted into the N MSBs of the destination operand. If more than 32 bits are shifted, copies

of the MSB 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

- Always cleared.

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

(parallel data bus move)