x86-cheatsheet/X86/Общего назначения.md
2024-01-05 23:30:32 +03:00

8.1 KiB
Raw Blame History

Команды передачи данных

Команды Описание
MOV Присваивание
CMOVxx Условное присваивание
XCHG Обмен значений
BSWAP Перестановка байтов
XADD Обмен и сложение
CMPXCHG Сравнение и обмен
CMPXCHG8B/CMPXCHG16B Сравнение и обмен 8/16 байтов
PUSH Поместить значение в стек
POP Взять значение из стека
PUSHA/PUSHAD Поместить значения регистров общего назначения в стек
POPA/POPAD Взять значения регистров общего назначения из стека
IN Прочитать значение из порта ввода/вывода
OUT Записать значение в порт ввода/вывода
CWD Преобразовать Word в DWord
CDQ Преобразовать DWord в QWord
CBW Преобразовать Byte в Word
CWDE Преобразовать Word в DWord в регистре eax
MOVSX Присвоить и расширить с учетом знака
MOVZX Присвоить и расширить нулевым значением

Двоичные арифметические команды

Команды Описание
ADD Сложение
ADC Сложение с переносом
SUB Вычитание
SBB Вычитание с заемом
IMUL Знаковое умножение
MUL Беззнаковое умножение
IDIV Знаковое деление
DIV Беззнаковое деление
INC Инкремент
DEC Декремент
NEG Смена знака
CMP Сравнение

Двоично-десятичные (BCD) арифметические команды

Команды Описание
DAA Десятичная коррекция после сложения
DAC Десятичная коррекция после вычитания
AAA ASCII коррекция после сложения
AAS ASCII коррекция после вычитания
AAM ASCII коррекция после умножения
AAD ASCII коррекция перед делением

Логические команды

Команды Описание
AND Побитовое логическое И
OR Побитовое логическое ИЛИ
XOR Побитовое логическое Исключающее ИЛИ
NOT Побитовое логическое НЕ

Команды побитового сдвига и вращения

Команды Описание
SAR Арифметический сдвиг вправо
SHR Логический сдвиг вправо
SAL/SHL Арифметический/логический сдвиг влево
SHRD Двойной сдвиг вправо
SHLD Двойной сдвиг влево
ROR Вращение вправо
ROL Вращение влево
RCR Вращение вправо через флаг переноса
RCL Вращение влево через флаг переноса