Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ФОРМАТ КОМАНД.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
616 Кб
Скачать
☆

3. Команды сдвиговых операций

КОП

Команда

Действие команды

Комментарии

Арифметический (логический) сдвиг влево

D0 /4

SAL(SHL) r/m8,1

на 1 бит

OF определен только при одно-

байтных сдвигах;

AF-не определен;

SF,ZF,CF,PF-устанавливаются

по результату.

Число сдвигов по

CL и imm8 в P-

режиме могут за-

даваться не более

32 шагов.

D2 /4

SAL(SHL) r/m8,CL

на CL бит

C0 /4 ib

SAL(SHL) r/m8,imm8

на imm8 бит

D1 /4

SAL(SHL) r/m16(32),1

на 1 бит

D3 /4

SAL(SHL) r/m16(32),CL

на CL бит

C1 /4 ib

SAL(SHL) r/m 16(32),imm8

на imm8 бит

Арифметический сдвиг вправо

D0 /7

SAR r/m8,1

на 1 бит

OF определен только при одно-

байтных сдвигах;

AF-не определен;

SF,ZF,CF,PF-устанавливаются

по результату.

Число сдвигов по

CL и imm8 в P-

режиме могут за-

даваться не более

32 шагов.

D2 /7

SAR r/m8,CL

на CL бит

C0 /7 ib

SAR r/m8,imm8

на imm8 бит

D1 /7

SAR r/m16(32),1

на 1 бит

D3 /7

SAR r/m16(32),CL

на CL бит

C1 /7 ib

SAR r/m16(32),imm8

на imm8 бит

Логический сдвиг вправо

D0 /5

SHR r/m8,1

на 1 бит

D2 /5

SHR r/m8,CL

на CL бит

C0 /5 ib

SHR r/m8,imm8

на imm8 бит

D1 /5

SHR r/m16(32),1

на 1 бит

D3 /5

SHR r/m16(32),CL

на CL бит

C1 /5 ib

SHR r/m16(32),imm8

на imm8 бит

Двойной сдвиг влево

0F A4

SHLD

r/m16(32),r16(32), imm8

на imm8 бит

Флаги OF и AF не определены.

SF,ZF,PF,CF устанавливаются

по результату.

После окончания сдвигов содержи-

мое регистра

r16(32) восстанавливает-

ся прежним.

0F A5

SHLD r/m16(32),r16(32),CL

на CL бит

Двойной сдвиг вправо

0F AC

SHRD

r/m16(32),r16(32), imm8

на imm8 бит

Флаги OF и AF не определены.

SF,ZF,PF,CF устанавливаются

по результату.

После окончания сдвигов содержи-

мое регистра

r16(32) восстанавливает-

ся прежним.

0FAD

SHRD

r/m16(32),r16(32), CL

на CL бит

Циклический сдвиг влево

D0 /0

ROL r/m8,1

на 1 бит

Флаг OF опреде-

лен только в одно

байтных сдвигах.

CF содержит зна-

чение выдвинуто-

го в него бита.

SF,ZF,AF,PF не

модифицируются

D2 /0

ROL r/m8,CL

на CL бит

C0 /0 ib

ROL r/m8,imm8

на imm8 бит

D1 /0

ROL r/m16(32),1

на 1 бит

D3 /0

ROL r/m16(32),CL

на CL бит

C1 /0 ib

ROL r/m16(32),imm8

на imm8 бит

Циклический сдвиг влево через перенос

D0 /2

RCL r/m8,1

на 1 бит

Флаг OF опреде-

лен только в одно

байтных сдвигах.

CF содержит зна-

чение выдвинуто-

го в него бита.

SF,ZF,AF,PF не

модифицируются

D2 /2

RCL r/m8,CL

на CL бит

C0 /2 ib

RCL r/m8,imm8

на imm8 бит

Флаг OF опреде-

лен только в одно

байтных сдвигах.

CF содержит зна-

чение выдвинуто-

го в него бита.

SF,ZF,AF,PF не

модифицируются

D1 /2

RCL r/m16(32),1

на 1 бит

D3 /2

RCL r/m16(32),CL

на CL бит

C1 /2 ib

RCL r/m16(32),imm8

На imm8 бит

Циклический сдвиг вправо

D0 /1

ROR r/m8,1

на 1 бит

D2 /1

ROR r/m8,CL

на CL бит

C0 /1 ib

ROR r/m8,imm8

на imm8 бит

D1 /1

ROR r/m16(32),1

на 1 бит

D3 /1

ROR r/m16(32),CL

на CL бит

C1 /1 ib

ROR r/m16(32),imm8

На imm8 бит

Циклический сдвиг вправо через перенос

D0 /3

RCR r/m8,1

на 1 бит

Флаг OF опреде-

лен только в одно

битных сдвигах.

CF-содержит зна-

чение выдвинуто-

го в него бита.

SF,ZF,AF,PF не

модифицируются

D2 /3

RCR r/m8,CL

на CL бит

C0 /3 ib

RCR r/m8,imm8

на imm8 бит

D1 /3

RCR r/m16(32),1

на 1 бит

D3 /3

RCR r/m16(32),CL

на CL бит

C1 /3 ib

RCR r/m16(32),imm8

на imm8 бит