qa.hlp (Table of Contents; Topic list)
SAL/SAR/SHL/SHR
   Summary  Detail  Example  Timings Key  Encodings Key
──────────────────────────────────────────────────────────────────────────────
 
 1101000w     mod,TTT*,r/m      disp (0 or 2)
 
  * TTT represents one of the following bit codes: 100 for SHL or SAL,
    101 for SHR, or 111 for SAR.
───────────────────┬───────────────────────────┬────────────────────────────
 SAR  reg,1        │ sar    di,1               │ 88/86 2
                   │ sar    cl,1               │ 286   2
                   │                           │ 386   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
───────────────────┼───────────────────────────┼────────────────────────────
 SAR  mem,1        │ sar    count,1            │ 88/86 15+EA (W88=23+EA)
                   │                           │ 286   7
                   │                           │ 386   7
───────────────────┼───────────────────────────┼────────────────────────────
 SAL  mem,1        │ sal    WORD PTR m32[0],1  │ 80/86 15+EA (W88=23+EA)
 SHL  mem,1        │ shl    index,1            │ 286   7
 SHR  mem,1        │ shr    unsign[di],1       │ 386   7
───────────────────┴───────────────────────────┴────────────────────────────
 
 1101001w     mod,TTT*,r/m      disp (0 or 2)
 
  *TTT represents one of the following bit codes: 100 for SHL or SAL, 101
   for SHR,  or 111 for SAR.
─────────────────┬───────────────────────────┬────────────────────────────
 SAR  reg,CL     │ sar    bx,cl              │ 88/86 8+4n
                 │ sar    dx,cl              │ 286   5+n
                 │                           │ 386   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
─────────────────┼───────────────────────────┼────────────────────────────
 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
─────────────────┼───────────────────────────┼────────────────────────────
 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
─────────────────┴───────────────────────────┴──────────────────────────────
 
 11000000w    mod,TTT*,r/m      disp (0 or 2)     data (1)
 
  *TTT represents one of the following bit codes: 100 for SHL or SAL,
   101 for SHR,  or 111 for SAR.
─────────────────┬───────────────────────────┬────────────────────────────
 SAR  reg,immed8 │ sar    bx,5               │ 88/86 ─
                 │ sar    cl,5               │ 286   5+n
                 │                           │ 386   3
─────────────────┼───────────────────────────┼────────────────────────────
 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
─────────────────┼───────────────────────────┼────────────────────────────
 SAR  mem,immed8 │ sar    sign_count,3       │ 88/86 ─
                 │ sar    WORD PTR [bx],5    │ 286   8+n
                 │                           │ 386   7
─────────────────┼───────────────────────────┼────────────────────────────
 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
─────────────────┴───────────────────────────┴────────────────────────────
                                    -♦-