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
 Detail Key Example                    Up Contents Index Back
────────────────────────────────────────────────────────────────────────────
 
  Title:    Shift                                 Flags: O D I T S Z A P C
                                                         ═════════════════
  Syntax:   SHL dest,count                               ±       ± ± ? ± ±
            SAL dest,count
            SHR dest,count
            SAR dest,count
 
  See also: SHL Operator, SHR Operator, ROL,
MUL, DIV, SHLD, AND, OR,
            XOR, NOT
 
  Description:
 
     Shifts the bits in the destination operand the number of times
     specified by the source operand. SAL and SHL shift the bits left;
     SAR and SHR shift right.
 
     With SHL, SAL, and SHR, the bit shifted off the end of the operand
     is copied into the carry flag and the leftmost or rightmost bit
     opened by the shift is set to 0. With SAR, the bit shifted off the
     end of the operand is copied into the carry flag and the leftmost
     bit opened by the shift retains its previous value (thus
     preserving the sign of the operand). SAL and SHL are synonyms.
 
     On the 8088 and 8086, the source operand can be either CL or 1. On
     the 80186-80486 processors, the source operand can be CL or an
     8-bit constant. On the 80186-80486 processors, shift counts larger
     than 31 are masked off, but on the 8088 and 8086, larger shift
     counts can be performed despite the inefficiency involved.
 
     The overflow flag is only modified by single-bit variations of the
     instruction; for multiple-bit variations, it is undefined.
                                    -♦-