SHL/SAL

Синтаксис SHL/SAL операнд, количество_сдвигов
Машинный
код
D0 /4 — SHL r/m8,1
D2 /4 — SHL r/m8,CL
С0 /4 ib — SHL r/m8,imm8
D1 /4 — SHL r/m16,1
D3 /4 — SHL r/m16,CL
C1 /4 ib — SHL r/m16,imm8
D1 /4 — SHL r/m32,1
D3 /4 — SHL r/m32,CL
C1 /4 ib — SHL r/m32,imm8
Описание Сдвиг влево.
Действие Сдвиг всех битов операнда влево на количество разрядов, указанное операндом количество_сдвигов, при этом выдвигаемый слева бит становится значением флага переноса CF. Одновременно справа в операнд вдвигается нулевой бит.
Флаги CF=r OF=?r SF=r ZF=r PF=r AF=?
Флаг CF содержит значение последнего выдвинутого из операнда бита. Флаг OF представляет интерес, если сдвиг осуществляется на один разряд. При сдвиге на несколько разрядов его значение не определено. По его значению можно судить об изменении знакового разряда операнда:

  • если OF=1, то значение флага CF и значение старшего бита операнда после выполнения сдвига различны;
  • если OF=0, то значение флага CF и значение старшего бита операнда после выполнения сдвига совпадают.

К списку команд