Assembly Language Help (alang.hlp) (
Table of Contents;
Topic list)
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.
-♦-