Home  Site Map  Instruction Index 

SAL  -  Shift Left Instruction


The SAL instruction is used to perform an arithmetic shift left, resulting in a signed multiplication.

As each bit is shift it passes in to the Carry flag, where it can be assessed using a conditional jump JC or JNC.

As each bit moves left the lowest bit becomes zero.

This command has 3 part the Instruction, A Register or memory address, and the number of bits to shift left.


Assembly
Sample
Description 16 bit Machine
Code
SAL AL, 1;  Shift AL left by 1 bit   D0 F0
SAL AL, CL;  Shift AL left by value of CL   D2 F0
SAL AL, 0x03 ;  Shift AL left by 8 bit immediate   C0 F0 03
SAL AX, 1;  Shift AL left by 1 bit   D1 F0
SAL AX, CL ;  Shift AL left by value of CL   D3 F0
SAL AX, 0x03 ;  Shift AL left by 8 bit immediate   C1 F0 03
SAL [BX], 1;  Shift memory address left by 1 bit   D1 37
SAL [BX], CL;  Shift memory address left by value of CL   D3 37
SAL [BX], 0x03 ;  Shift memory address left by 8 bit
;  immediate
  C0 37 03
SAL [BX+2], 1;  Shift memory address left by 1 bit   D1 77 02
SAL [BX+2], CL ;  Shift memory address left by value of CL   D3 77 02
SAL [BX+2], 0x03 ;  Shift memory address left by 8 bit
;  immediate
  C0 77 02 03