Основы языка Ассемблера

         

Основы языка Ассемблера

Система команд процессоров Intel
ААА ASCII-коррекция регистра АХ после сложения
AAD ASCII-коррекция регистра АХ перед делением
AAM ASCII-коррекция регистра АХ после умножения
AAS ASCII-коррекция регистра AL после вычитания
ADC Целочисленное сложение с переносом
ADD Целочисленное сложение
AND Логическое И
P+ ARPL
BOUND
BSF Прямое сканирование битов

BSR Обратное сканирование битов


BSWAP Обмен байтов
ВТ Проверка бита
ВТС Проверка и инверсия бита
BTR Проверка и сброс бита
BTS Проверка и установка бита
CALL Вызов подпрограммы
CBW Преобразование байта в слово
CDQ Преобразование двойного слова в четверное

CLC Сброс флага переноса
CLD Сброс флага направления
CL1 Сброс флага прерываний
CMC Инвертирование флага переноса
СМР Сравнение
CMPS Сравнение строк CMPSB Сравнение строк по байтам CMPSW Сравнение строк по словам
CMPSD Сравнение строк по двойным словам
CMPXCHG Сравнение и обмен
Pentium+ CMPXCHG8B Сравнение и обмен 8 байтов

Pentium+ CPUID Идентификация процессора
CWD Преобразование слова в двойное слово
CWDE
DAA Десятичная коррекция в регистре
DAS Десятичная коррекция в регистре AL после вычитания
DEC Декремент (уменьшение на 1)
DIV Деление целых чисел без знака
ENTER
HLT Останов

IDIV Деление целых чисел со знаком
IMUL Умножение целых чисел со знаком
IN Ввод из порта
INC Инкремент (увеличение на 1)
INS Ввод строки из порта
INT Программное прерывание
INTO Прерывание по переполнению
IRET Возврат из прерывания
IRETD
Jcc Команды условных переходов

JMP Безусловный переход
LAHF Загрузка флагов в регистр АН
Р+ LAR Загрузка прав доступа
LDS Загрузка указателя с использованием регистра DS
LEA Загрузка исполнительного адреса
LEAVE Выход из процедуры высокого уровня
LES Загрузка указателя с использованием регистра ES
LSS Загрузка указателя с использованием регистра FS
Р+ LGDT
Р+ LIDT

Р+ LLDT
Р+ LMSW Загрузка слова состояния машины
LOCK Запирание шины
LODSW Загрузка слова из строки
LODSD Загрузка двойного слова из строки
LOOP Циклическое выполнение, пока содержимое СХ не равно нулю
LOOPE/LOOPZ Циклическое выполнение,пока равно/циклическое выполнение, пока нуль
LOOPNE/LOOPNZ Циклическое выполнение, пока не равно/циклическое выполнение, пока не нуль
Р+ LSL Загрузка границы сегмента

Р+ LTR Загрузка регистра задачи TR
MOV Пересылка данных
Р+ MOV Пересылка в\из специальных регистров
MOVSB Пересылка байта данных из строки в строку
MOVSD Пересылка двойного слова из строки в строку
MOVSX Пересылка с расширением знака
MOVZX Пересылка с расширением нуля
MUL Умножение целых чисел без знака
NEG Изменение знака, дополнение до 2

NOP Холостая команда
NOT Инверсия, дополнение до 1, логическое отрицание
OR Логическое ВКЛЮЧАЮЩЕЕ ИЛИ
OUT Вывод в порт
OUTSD Вывод двойного слова в порт
POP Извлечение слова из стека
РОРА Восстановление из стека всех регистров
POPAD Восстановление из стека всех регистров в 32-разрядном режиме
POPF Восстановление из стека регистра флагов
POPFD

PUSH Занесение операнда в стек
PUSHA Сохранение в стеке всех регистров
PUSHAD Сохранение в стеке всех регистров в 32-разрядном режиме
PUSHFD Занесение в стек содержимого расширенного регистра флагов
RCL Циклический сдвиг влево через бит переноса
RCR Циклический сдвиг вправо через бит переноса
Pentium+P RDMSR Чтение особого регистра модели
REPNZ Повторение пока не равно
RETF Возврат из дальней процедуры
ROL Циклический сдвиг влево

ROR Циклический сдвиг вправо
SAHF Запись содержимого регистра АН в регистр флагов
SAL Арифметический сдвиг влево
SAR Арифметический сдвиг вправо
SBB Целочисленное вычитание с займом
SCASB Сканирование строки байтов с целью сравнения
SCASD
SETcc Установка байта по условию
SHL Логический сдвиг влево
SHLD Логический сдвиг влево с двойной точностью

SHR Логический сдвиг вправо
SHRD Логический сдвиг вправо с двойной точностью
P+ SIDT Сохранение в памяти содержимого регистра таблицы дескрипторов прерываний
Р+ SLDT Сохранение содержимого регистра таблицы локальных дескрипторов
Р+ SMSW Сохранение слова состояния машины
STC Установка флага переноса
STD Установка флага направления
STI Установка флага прерывания
STOSW Запись слова в строку данных
STOSD Запись двойного слова в строку данных

P+ STR
SUB Вычитание целых чисел
TEST Логическое сравнение
Р+ VERR Проверка сегмента на чтение
Р+ VERW Проверка сегмента на запись
XADD Обмен и сложение
XCHG Обмен данными между операндами
XLAT Табличная трансляция
XLATB
XOR Логическое ИСКЛЮЧАЮЩЕЕ ИЛИ

Содержание раздела