reverseenengineering:основы

Это старая версия документа!


Основы

Команда^Выполняемая операция^Группа^

AAA  	          ASCII-коррекция после сложения	Десятичная арифметика
AAD  	          ASCII-коррекция регистра AX перед делением	Десятичная арифметика
AAM  	          ASCII-коррекция регистра AX после умножения	Десятичная арифметика
AAS  	          ASCII-коррекция после вычитания	Десятичная арифметика
ADC  	          Сложение с переносом	Основная арифметика
ADD  	          Сложение	Основная арифметика
AND  	          Логическое "И"	Основная арифметика
ARPL  	  Коррекция поля RPL селектора	Привилегированные
BOUND  	  Контроль нахождения индекса массива в границах	Специальные команды
BSF  	          Сканирование бита вперед	Работа с битами
BSR  	          Сканирование бита назад	Работа с битами
BSWAP	          Перестановка байтов (внутри 32-бит. регистра)	Пересылка данных
BT  	          Проверка бита	Работа с битами
BTC  	          Проверка бита и дополнение	Работа с битами
BTR  	          Проверка бита и сброс в 0	Работа с битами
BTS  	          Проверка бита и установка в 1	Работа с битами
CALL  	  Вызов процедуры	Переходы и процедуры
CBW  	          Преобразование байта в слово	Пересылка данных
CDQ  	          Преобразование двойного слова в счетверенное слово	Пересылка данных
CLC  	          Сброс флажка переноса	Установка флажков
CLD  	          Сброс флажка направления	Установка флажков
CLI  	          Сброс флажка прерывания	Установка флажков
CLTS  	  Сброс флажка переключения задачи	Привилегированные
CMC  	          Инвертирование флажка переноса	Установка флажков
CMP  	          Сравнение двух операндов	Основная арифметика
CMPS  	  Сравнение цепочечных операндов	Цепочечные команды
CMPXCHG	  Сравнение и обмен	Специальные команды
CWD  	          Преобразование слова в двойное слово	Пересылка данных
CWDE  	  Преобразование слова в двойное слово	Пересылка данных
DAA  	          Десятичная коррекция AL после сложения	Десятичная арифметика
DAS  	          Десятичная коррекция AL после вычитания	Десятичная арифметика
DEC  	          Декремент на 1	Инкремент и декремент
DIV             Беззнаковое деление	Умножение и деление
ENTER  	  Образование стекового кадра для параметров процедуры	Переходы и процедуры
ESC             Универсальная единая команда для сопроцессора с плавающей точкой	Сопроцессор
F...            Команды сопроцессора с плавающей точкой	Сопроцессор
HLT  	Останов	Привилегированные
IDIVЗнаковое деление	Умножение и деление
IMUL  	Знаковое умножение	Умножение и деление
IN  	Ввод из порта	Системные команды
INC  	Инкремент на 1	Инкремент и декремент
INS  	Ввод из порта в цепочку	Цепочечные команды
INT  	Вызов процедуры прерывания	Вызов прерывания
INTO  	Вызов процедуры прерывания 4, если OF=1	Вызов прерывания
INVD  	Недостоверность кэш-памяти	Системные команды
INVLPG  	Недостоверность элемента буфера TLB	Системные команды
IRET  	Возврат из прерывания	Вызов прерывания
J(cond)  	Условная передача управления	Условные команды
JCXZ

/JECXZ Переход, если значение счетчика равно нулю Условные команды

JMP  	Безусловная передача управления	Переходы и процедуры
LAHF  	Пересылка из регистра флажков в регистр AH	Установка флажков
LAR  	Загрузка байта прав доступа	Привилегированные
LDS  	Загрузка полного указателя (для DS)	Сегментные регистры
LEA  	Загрузка эффективного адреса	Специальные команды
LEAVE  	Отмена действия команды ENTER перед выходом из процедуры	Переходы и процедуры
LES  	Загрузка полного указателя (для ES)	Сегментные регистры
LFS  	Загрузка полного указателя (для FS)	Сегментные регистры
LGDT  	Загрузка регистра глобальной дескрипторной таблицы	Привилегированные
LGS  	Загрузка полного указателя (для GS)	Сегментные регистры
LIDT  	Загрузка регистра дескрипторной таблицы прерываний	Привилегированные
LLDT  	Загрузка регистра локальной дескрипторной таблицы	Привилегированные
LMSW  	Загрузка слова состояния машины	Привилегированные
LOCK  	Префикс выдачи сигнала LOCK#	Системные команды
LODS  	Загрузка цепочечного операнда в аккумулятор	Цепочечные команды
LOOP  	Управление циклом со счетчиком в регистре CX	Условные команды
LOOPE

/LOOPZ Управление циклом со счетчиком в регистре CX Условные команды

LOOPNE

/LOOPNZ Управление циклом со счетчиком в регистре CX Условные команды

LSL  	Загрузка предела сегмента	Системные команды
LSS  	Загрузка полного указателя (для SS)	Сегментные регистры
LTR  	Загрузка регистра задачи	Привилегированные
MOV  	Пересылка данных	Пересылка данных
MOV(spec)	Пересылка в специальные регистры и из них	Привилегированные
MOVS  	Пересылка данных из цепочки в цепочку	Цепочечные команды
MOVSX  	Пересылка со знаковым расширением	Пересылка данных
MOVZX  	Пересылка с нулевым расширением	Пересылка данных
MUL  	Беззнаковое умножение	Умножение и деление
NEG  	Получение дополнительного кода (изменение знака)	Основная арифметика
NOP  	Пустая операция	Пересылка данных
NOT  	Инвертирование	Основная арифметика
OR  	Логическое включающее "ИЛИ"	Основная арифметика
OUT  	Вывод в порт	Системные команды
OUTS  	Вывод цепочки в порт	Цепочечные команды
POP  	Извлечение слова из стека	Работа со стеком
POPA  	Извлечение из стека всех общих регистров	Работа со стеком
POPF  	Извлечение из стека в регистр флажков	Работа со стеком
PUSH  	Засылка операнда в стек	Работа со стеком
PUSHA  	Засылка в стек всех общих регистров	Работа со стеком
PUSHF  	Засылка в стек регистра флажков	Работа со стеком
RCL  	Циклический сдвиг влево с участием флажка CF	Команды сдвига
RCR  	Циклический сдвиг вправо с участием флажка CF	Команды сдвига
REP  	Префикс повторения цепочечной операции	Цепочечные команды
REPE

/REPZ Префикс повторения цепочечной операции Цепочечные команды

REPNE

/REPNZ Префикс повторения цепочечной операции Цепочечные команды

RET  	Возврат из процедуры	Переходы и процедуры
ROL  	Циклический сдвиг влево	Команды сдвига
ROR  	Циклический сдвиг вправо	Команды сдвига
SAHF  	Пересылка регистра AH в регистр флажков	Установка флажков
SAL  	Сдвиг влево (умножение на 2)	Команды сдвига
SALC  	Установка регистра AL по флажку CF	Установка флажков
SAR  	Сдвиг вправо (знаковое деление на 2)	Команды сдвига
SBB  	Вычитание с заемом	Основная арифметика
SCAS  	Сравнение (сканирование) цепочечных данных	Цепочечные команды
SET(cond)	Установка байта по условию	Условные команды
SGDT  	Сохранение регистра глобальной дескрипторной таблицы	Привилегированные
SHL  	Сдвиг влево (умножение на 2)	Команды сдвига
SHLD  	Двойной сдвиг влево	Команды сдвига
SHR  	Сдвиг вправо (беззнаковое деление на 2)	Команды сдвига
SHRD  	Двойной сдвиг вправо	Команды сдвига
SIDT  	Сохранение регистра дескрипторной таблицы прерываний	Привилегированные
SLDT  	Сохранение регистра локальной дескрипторной таблицы	Привилегированные
SMSW  	Сохранение слова состояния машины	Привилегированные
STC  	Установка флажка переноса	Установка флажков
STD  	Установка флажка направления	Установка флажков
STI  	Установка флажка прерывания	Установка флажков
STOS  	Сохранение цепочечных данных	Цепочечные команды
STR  	Сохранение регистра задачи	Привилегированные
SUB  	Вычитание	Основная арифметика
TEST  	Логическое сравнение	Основная арифметика
VERR  	Проверка сегмента на считывание	Системные команды
VERW  	Проверка сегмента на запись	Системные команды
WAIT  	Ожидание	Системные команды
WBINVD  	Обратная запись и недостоверность кэш-памяти	Системные команды
XADD  	Обмен и сложение	Специальные команды
XCHG  	Обмен данными - регистр/регистр или регистр/память	Пересылка данных
XLAT  	Перекодирование байта по таблице	Специальные команды
XOR  	Логическое исключающее "ИЛИ"	Основная арифметика
  • reverseenengineering/основы.1751625250.txt.gz
  • Последнее изменение: 2025/07/04 17:34
  • Lex