SAL and SAR perform an arithmetic shift operation on the given
source/destination (first) operand. The vacated bits are filled with
zero for SAL, and with copies of the original high bit of the
source operand for SAR.
SAL is a synonym for SHL (see SHL). NASM will
assemble either one to the same code, but NDISASM will always
disassemble that code as SHL.
The number of bits to shift by is given by the second operand. Only the bottom five bits of the shift count are considered by processors above the 8086.
You can force the longer (286 and upwards, beginning with a C1
byte) form of SAL foo,1 by using a BYTE prefix: \c{SAL
foo,BYTE 1}. Similarly with SAR.