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

2. Команды логических операций

КОП

Команда

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

комментарии

Логическое сложение

(дизъюнкция)

0CF,OF;

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

ZF,SF,PF-устанав-

ливаются по

результату

0C ib

OR AL,imm8

AL \/ imm8 → AL

0D iw(id)

OR AX(EAX),imm16(32)

AX(EAX) \/ imm16(32) 

 AX(EAX)

80 /1 ib

OR r/m8,imm8

r/m8 \/ imm8  r/m8

81 /1 iw(id)

OR r/m16(32),imm16(32)

r/m16(32) \/ imm16(32) 

 r/m16(32)

83 /1 ib

OR r/m16(32),imm8

r/m16(32) \/ simm8 

 r/m16(32)

08 /r

OR r/m8,r8

r/m8 \/ r8  r/m8

09 /r

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

r/m16(32) \/ r16(32)  r/m16(32)

0A /r

OR r8,r/m8

r8 \/ r/m8  r8

0B /r

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

r16(32) \/ r/m16(32)

Логическое умножение

(конъюнкция)

0CF,OF;

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

ZF,SF,PF-устанав-

ливаются по

результату

24 ib

AND AL,imm8

AL & imm8AL

25 iw(id)

AND AX(EAX),imm16(32)

AX(EAX) & imm16(32)   AX(EAX)

80 /4 ib

AND r/m8,imm8

r/m8 & imm8  r/m8

81 /4 ib(id)

AND r/m16(32),imm16(32)

r/m16(32) & imm16(32)   r/m16(32)

83 /4 ib

AND r/m16(32),imm8

r/m16(32) & simm8 

r/m16(32)

20 /r

AND r/m8,r8

r/m8 & r8  r/m8

21 /r

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

r/m16(32) & r16(32) 

 r/m16(32)

22 /r

AND r8,r/m8

r8 & r/m8  r8

23 /r

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

r16(32) & r/m16(32) 

r16(32)

Операция неравнозначности

(сумма по MOD2)

34 ib

XOR AL,imm8

AL  imm8  AL

0CF,OF;

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

ZF,SF,PF-устанав-

ливаются по

результату

35 iw(id)

XOR AX(EAX),imm16(32)

AX(EAX)  imm16(32) 

 AX(EAX)

80 /6 ib

XOR r/m8,imm8

r/m8  imm8  r/m8

81 /6 iw(id)

XOR r/m16(32),imm16(32)

r/m16(32)  imm16(32) 

 r/m16(32)

83 /6 ib

XOR r/m16(32),imm8

r/m16(32)  simm8 

 r/m16(32)

30 /r

XOR r/m8,r8

r/m8  r8  r/m8

31 /r

XORr/m16(32),r16(32)

r/m16(32)  r16(32) 

 r/m16(32)

32 /r

XOR r8,r/m8

r8  r/m8  r8

33 /r

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

r16(32)  r/m16(32) 

 r16(32)

Операция отрицания

(инверсия)

F6 /2

NOT r/m8

r/m8

Флаги не

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

F7 /2

NOT r/m16(32)

→ r/m16(32)

Операции тестирования

A8 ib

TEST AL,imm8

AL & imm8

0CF,OF;

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

ZF,SF,PF-устанав-

ливаются по

результату

A9 iw(id)

TEST AX(EAX),imm16(32)

AX(EAX) & imm16(32)

F6 /0 ib

TEST r/m8,imm8

r/m8 & imm8

F7 /0 ib(id)

TEST r/m16(32),imm16(32)

r/m16(32) & imm16(32)

84 /r

TEST r/m8,r8

r/m8 & r8

85 /r

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

r/m16(32) & r16(32)

Операции сравнения

3С ib

CMP AL,imm8

AL- imm8

0CF,OF;

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

ZF,SF,PF-устанав-

ливаются по

результату

3D iw(id)

CMP AX(EAX),imm16(32)

AX(EAX) - imm16(32)

80 /7 ib

CMP r/m8,imm8

r/m8 - imm8

81 /7 iw(id)

CMP r/m16(32),imm16(32)

r/m16(32) - imm16(32)

83 /7 ib

CMP r/m16(32),imm16(32)

r/m16(32) - simm16(32)

38 /r

CMP r/m8,r8

r/m8 - r8

39 /r

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

r/m16(32) - r16(32)

3A /r

CMP r8,r/m8

r8 - r/m8

3B /r

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

r16(32) - r/m16(32)

0F A6 /r

CMPXCHG r/m8,r8

Если AL=r/m8 то r8

 r/m8, иначе r/m8  AL

0F A7 /r

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

Если AX(EAX) = r/m16(32)

то r16(32)  r/m16(32), иначе r/m16(32)AX(EAX)

( i486)

0F C7 m64

CMPXCHG8B r/m64

Если EDX:EAX = r/m64 то

ECX:EBX  r/m64 иначе

r/m64  EDX:EAX.

Контроль нахождения индекса массива в заданных

границах

62 /r

BOUND r16(32),m16(32) &

16(32)

Если r16(32) выходит за

границы m16(32)&16(32),

то - прерывание 5

Флаги не

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