SHL
Operation
Left-shifts the destination by the count modulo its selected width without changing FLAGS.
Assembler Syntax
SHL.{L|Q}(z) Rn(s), Rn(d)
SHL.{B|W|L|Q}(z) Rn(s), <ea>(e)
SHL.{B|W|L|Q}(z) imm6(i), <ea>(e)
Privilege
Unprivileged
Repeat eligibility
REP eligible; REPcc observes dst
Shifts the selected-width destination value left by the effective count, zero-fills the vacated low bits, and writes the result to the destination. The effective count is the count operand modulo the selected operand width: B uses mod 8, W uses mod 16, L uses mod 32, and Q uses mod 64. If the effective count is zero, the selected-width result equals the original selected-width value; an Rn destination is still written and a sub-Q result is zero-extended to 64 bits, while a memory destination rewrites the same selected bytes. FLAGS are unchanged for all counts.
2.75in
Encodings
SHL.{L|Q}(z) Rn(s), Rn(d)
Format: Instruction format for SHL.{L|Q}(z) Rn(s), Rn(d)
2.75in SHL.{B|W|L|Q}(z) Rn(s), <ea>(e)
Format: Instruction format for SHL.{B|W|L|Q}(z) Rn(s), <ea>(e)
dst — excluded: immediate [invalid_destination]
2.75in SHL.{B|W|L|Q}(z) imm6(i), <ea>(e)
Format: Instruction format for SHL.{B|W|L|Q}(z) imm6(i), <ea>(e)
dst — excluded: immediate [invalid_destination]