Motorola DSP56800 Manual page 268

16-bit digital signal processor
Table of Contents

Advertisement

ASL
Operation:
(see following figure)
:
C
Description: Arithmetically shift the destination operand (D) 1 bit to the left and store the result in the destination
accumulator. The MSB of the destination prior to the execution of the instruction is shifted into C, and
a zero is shifted into the LSB of the destination.
Implementation Note:
When a 16-bit register is specified as the operand for ASL, this instruction is actually assembled as an
LSL with the same register argument.
Example:
ASL
Before Execution
A
0123
A2
A1
SR
0300
Explanation of Example:
Prior to execution, the 36-bit A accumulator contains the value $A:0123:0123. Execution of the
ASL A instruction shifts the 36-bit value in the A accumulator 1 bit to the left and stores the result
back in the A accumulator. C is set by the operation because bit 35 of A was set prior to the execution
of the instruction. The V bit of CCR (bit 1) is also set because bit 35 of A has changed during the ex-
ecution of the instruction. The U bit of CCR (bit 4) is set because the result is not normalized, the E bit
of CCR (bit 5) is set because the signed integer portion of the result is in use, and the L bit of CCR (bit
6) is set because an overflow has occurred.
A-38
Arithmetic Shift Left
D2
D1
A
X:(R3)+N,Y0; multiply A by 2, update R3,Y0
0123
A0
DSP56800 Family Manual
Assembler Syntax:
ASL
0
D0
After Execution
4
0246
A2
A1
SR
0373
ASL
D
(parallel move)
(parallel move)
0246
A0

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents