Assembly Language Help (alang.hlp) (Table of Contents; Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
SHL Instruction
 Summary Key Example                    Up Contents Index Back
────────────────────────────────────────────────────────────────────────────
 
 1101000w     mod,TTT*,r/m      disp (0, 1, or 2)
─────────────────┬───────────────────────────┬──────────────────────────────
 SAR  reg,1      │ sar    di,1               │ 88/86 2
                 │ sar    cl,1               │   286 2
                 │                           │   386 3
                 │                           │   486 3
─────────────────┼───────────────────────────┼──────────────────────────────
 SAL  reg,1      │ shr    dh,1               │ 88/86 2
 SHL  reg,1      │ shl    si,1               │   286 2
 SHR  reg,1      │ sal    bx,1               │   386 3
                 │                           │   486 3
─────────────────┼───────────────────────────┼──────────────────────────────
 SAR  mem,1      │ sar    count,1            │ 88/86 15+EA (W88=23+EA)
                 │                           │   286 7
                 │                           │   386 7
                 │                           │   486 4
─────────────────┼───────────────────────────┼──────────────────────────────
 SAL  mem,1      │ sal    WORD PTR m32[0],1  │ 88/86 15+EA (W88=23+EA)
 SHL  mem,1      │ shl    index,1            │   286 7
 SHR  mem,1      │ shr    unsign[di],1       │   386 7
                 │                           │   486 4
─────────────────┴───────────────────────────┴──────────────────────────────
  * TTT represents one of the following bit codes: 100 for SHL or SAL,
    101 for SHR, or 111 for SAR.
 
 1101001w     mod,TTT*,r/m      disp (0, 1, or 2)
─────────────────┬───────────────────────────┬──────────────────────────────
 SAR  reg,CL     │ sar    bx,cl              │ 88/86 8+4n
                 │ sar    dx,cl              │   286 5+n
                 │                           │   386 3
                 │                           │   486 3
─────────────────┼───────────────────────────┼──────────────────────────────
 SAL  reg,CL     │ shr    dx,cl              │ 88/86 8+4n
 SHL  reg,CL     │ shl    di,cl              │   286 5+n
 SHR  reg,CL     │ sal    ah,cl              │   386 3
                 │                           │   486 3
─────────────────┼───────────────────────────┼──────────────────────────────
 SAR  mem,CL     │ sar    sign,cl            │ 88/86 20+EA+4n (W88=28+EA+4n)
                 │ sar    WORD PTR [bp+8],cl │   286 8+n
                 │                           │   386 7
                 │                           │   486 4
─────────────────┼───────────────────────────┼──────────────────────────────
 SAL  mem,CL     │ shr    WORD PTR m32[2],cl │ 88/86 20+EA+4n (W88=28+EA+4n)
 SHL  mem,CL     │ sal    BYTE PTR [di],cl   │   286 8+n
 SHR  mem,CL     │ shl    index,cl           │   386 7
                 │                           │   486 4
─────────────────┴───────────────────────────┴──────────────────────────────
  * TTT represents one of the following bit codes: 100 for SHL or SAL,
    101 for SHR, or 111 for SAR.
 
 11000000w    mod,TTT*,r/m      disp (0, 1, or 2)     data (1)
 
─────────────────┬───────────────────────────┬──────────────────────────────
 SAR  reg,immed8 │ sar    bx,5               │ 88/86 ──
                 │ sar    cl,5               │   286 5+n
                 │                           │   386 3
                 │                           │   486 2
─────────────────┼───────────────────────────┼──────────────────────────────
 SAL  reg,immed8 │ sal    cx,6               │ 88/86 ──
 SHL  reg,immed8 │ shl    di,2               │   286 5+n
 SHR  reg,immed8 │ shr    bx,8               │   386 3
                 │                           │   486 2
─────────────────┼───────────────────────────┼──────────────────────────────
 SAR  mem,immed8 │ sar    sign_count,3       │ 88/86 ──
                 │ sar    WORD PTR [bx],5    │   286 8+n
                 │                           │   386 7
                 │                           │   486 4
─────────────────┼───────────────────────────┼──────────────────────────────
 SAL  mem,immed8 │ shr    mem16,11           │ 88/86 ──
 SHL  mem,immed8 │ shl    unsign,4           │   286 8+n
 SHR  mem,immed8 │ sal    array[bx+di],14    │   386 7
                 │                           │   486 4
─────────────────┴───────────────────────────┴──────────────────────────────
  * TTT represents one of the following bit codes: 100 for SHL or SAL,
    101 for SHR, or 111 for SAR.
                                    -♦-