Crossware

Table of Contents        Previous topic       Next topic       

MICROPROCESSOR INSTRUCTION REFERENCE->ASL

ASL    Arithmetic Shift Left

Compatibility: 68000, 68010, 68020, CPU32 families

Destination shifted by <count> -> Destination


C <- OPERAND <- 0
        X <-


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

<ea> - memory alterable only

Dx contains shift count
Immediate shift data may be 1 - 8
Memory can be shifted only 1 bit


Size:  Byte, Word, Long except if Memory Shift when only Word Allowed

Arithmetically shifts the bits of the operand left.  The carry bit receives the last bit shifted out of the operand.

Condition Codes:

N    Set if most significant bit of result is set, else cleared
Z    Set if result zero, else cleared
V    Set if the most significant bit is changed at any time during shift operation, else clear
C    Set according to last bit shifted out of operand, cleared for a shift count of zero
X    Set according to last bit shifted out of operand, unaffected by a shift count of zero

    
Allowable Addressing Modes
    
ASLDx,Dy
ASL#(data),Dy
ASL(An)
ASL(An)+
ASL-(An)
ASL(d16,An)
ASL(d8,An,Xn)
ASL(bd,An,Xn) 2
ASL([bd,An,Xn],od) 1
ASL([bd,An],Xn,od) 1
ASL(xxx).W
ASL(xxx).L
1   68020 only
2   68020 and CPU32 only