ASL

ASL

Operation:
Destination Shifted by <count> -->; Destination

Assembler Syntax:
ASL Dx, Dy
ASL #<data>, Dy
ASL <ea>

Attributes: Size = (Byte, Word, Long, Quad)

Description: Arithmetically shifts the bits of the operand to the left.
The carry bit receives the last bit shifted out of the operand. The
shift count for the shifting of a register may be specified in two
different ways:
1. Immediate -- The shift count is specified in the instr-
uction (shift range 1-8).
2. Register -- The shift count is the value in the data reg-
ister specified in instruction modulo 64.

The size of the operation can be specified as byte, word, or long.
An operand in memory can be shifted one bit only, and the operand
size is restricted to word.

Bits shifted out of the high-order bit go to both the carry and the
extend bits; zeros are shifted into the low-order bit. The over-
flow bit indicates if any sign changes occur during the shift.

Condition Codes:

X Set according to the last bit shifted out of the operand.
Unaffected for a shift count of zero.
N Set if the most significant bit of the result is set.
Cleared otherwise.
Z Set if the result is zero. Cleared otherwise.
V Set if the most significant bit is changed at any time during
the shift operation. Cleared otherwise.
C Set according to the last bit shifted out of the operand.
Unaffected for a shift count of zero.