|
Новичок
Регистрация: 04.05.2008
Сообщений: 6
Провел на форуме: 30895
Репутация:
8
|
|
Assembler FAQ
Незнаю нужно это кому то или нет. В любом случае это было составлено лично мной и выложено только на antichat.ru Так что просьба на других проектах невыкладывать,только если я сам этого не зделаю.
MOV приёмник,источник Пересылка данных 8086
CMOVcc * приёмник,источник Условная пересылка данных P6
XCHG операнд1,операнд2 Обмен операндов между собой 8086
BSWAP регистр 32 Обмен байтов внутри регистра 80486
PUSH источник Поместить данные в стек 8086
POP приёмник Считать данные из стека 8086
PUSHA Поместить в стек 80186
PUSHAD Поместить в стек все регист.общ.назначения 80386
POPA Загрузить из стека 80186
POPAD Загрузить из стека все регист.общ.назначен. 80386
IN приёмник,источник Считать данные из порта 8086
OUT приёмник,источник Записать данные в порт 8086
CWD Конверт. слова в двойное слово 8086
CDQ Конверт. двойное слова в учетверённое 80386
CBW Конвертирование байта в слово 8086
CWDE Конвертирование слова в двойное слово 80386
MOVSX приёмник,источник Пересылка с расширением знака 80386
MOVZX приёмник,источник Пересылка с расширением нулями 80386
XLAT адрес Трансляция в соответствии с таблицей 8086
XLATB *
LEA приёмник,источник Вычисление эффективного адреса 8086
ADD приёмник,источник Сложение 8086
ADC приёмник,источник Сложение с переносом 8086
XADD приёмник,источник Обменять между собой и сложить 80486
SUB приёмник,источник Вычитание 8086
SBB приёмник,источник Вычитание с займом 8086
IMUL источник Умножение чисел со знаком 8086
IMUL приёмник,источник 80386
IMUL приёмник,источник1,источни 2 80186
MUL источник Умножение чисел без знака 8086
IDIV источник Целоцисленное деление со знаком 8086
DIV источник Целоцисленное деление ,без знака 8086
INC приёмник Инкремент 8086
DEC приёмник Декремент 8086
NEG приёмник Изменение знака 8086
CMP приёмник,источник Сравнение 8086
CMPXCHG приёмник,источник Сравнить и обменять между собой 80486
CMPXCHG8B приёмник Сравнить и обменять 8 байт P5
DAA BCD-коррекция после сложения 8086
DAS BCD-коррекция после вычитания 8086
AAA ASCII-коррекция после сложения 8086
AAS ASCII-коррекция после вычетания 8086
AAM ASCII-коррекция после умножения 8086
AAD ASCII-коррекция перед делением 8086
AND приёмник,источник Логическое И 8086
OR приёмник,источник Логическое ИЛИ 8086
XOR приёмник,источник Логическое исключающее ИЛИ 8086
NOT приёмник Инверсия 8086
TEST приёмник,источник Логическое сравнение 8086
SAR приёмник,счётчик Арифметический сдвиг вправо 8086
SAL приёмник,счётчик Арифметический сдвиг влево 8086
SHR приёмник,счётчик Логический сдвиг вправо 8086
SHL приёмник,счётчик Логический сдвиг влево 8086
SHRD приёмник,источник,счётчик Сдвиг повышенной точности вправо 80386
SHLD приёмник,источник,счётчик Сдвиг повышенной точности влево 80386
ROR приёмник,счётчик Циклический сдвиг вправо 8086
ROL приёмник,счётчик Циклический сдвиг влево 8086
RCR приёмник,счётчик Циклич. сдвиг вправо через флаг переноса 8086
RCL приёмник,счётчик Циклич. сдвиг влево через флаг переноса 8086
BT база,смещение Проверка бита 80386
BTS база,смещение Проверка и установка бита 80386
BTR база,смещение Проверка и сброс бита 80386
BTC база,смещение Проверка и инверсия бита 80386
BSF приёмник,источник Прямой поиск бита 80386
BSR приёмник,источник Обратный поиск бита 80386
SETcc* приёмник Установка байта по условию 80386
JMP операнд Безусловный переход 8086
Jcc метка Условный переход 8086
JCXZ метка Переход если CX=0 8086
JECXZ метка Переход если ECX=0 80386
LOOP метка Цикл 8086
LOOPE метка Цикл, пока равно 8086
LOOPZ метка Цикл, пока ноль 8086
LOOPNE метка Цикл, пока не равно 8086
LOOPNZ метка Цикл, пока не ноль 8086
CALL операнд Вызов процедуры 8086
RET число Возврат из процедуры 8086
RETN число
RETF число
INT число Вызов прерывания 8086
IRET Возврат из обработчика прерывания 8086
IRETD
INT3 Вызов прерывания 3 8086
INT0 Вызов прерывания 4 при переполнении 8086
BOUND индекс,границы Проверка выхода за границы массива 80186
ENTER размер,уровень Вход в процедуру 80186
LEAVE Выход из процедуры 80186
REP Повторять 8086
REPE Повторять пока рано 8086
REPNE Повторять пока не рано 8086
REPZ Повторять пока ноль 8086
REPNZ Повторять пока не ноль 8086
MOVS приёмник,источник Копирование строки 8086
MOVSB Копирование строки байтов
MOVSW Копирование строки слов
MOVSD Копирование строки двойных слов 80386
CMPS приёмник,источник Сравнение строк 8086
CMPSB Сравнение строк байтов 8086
CMPSW Сравнение строк слов 8086
CMPSD Сравнение строк двойных слов 80386
SCAS приёмник Сканирование строки 8086
SCASB Сканирование строки байтов 8086
SCASW Сканирование строки слов 8086
SCASD Сканирование строки двойных слов 80386
LODS источник Чтение из строки 8086
LODSB Чтение байта из строки 8086
LODSW Чтение слова из строки 8086
LODSD Чтение двойного слова из строки 80386
STOS приёмник Запись в строку 8086
STOSB Запись байта в строку 8086
STOSW Запись слова в строку 8086
STOSD Запись двойного слова в строку 80386
INS источник DX Чтение строки из порта 80186
INSB Чтение строки байт из порта 80186
INSW Чтение строки слов из порта 80186
INSD Чтение строки двойных слов из порта 80386
OUTS DX приёмник Запись строки в порт 80186
OUTSB Запись строки байтов в порт 80186
OUTSW Запись строки слов в порт 80186
OUTSD Запись строки двойных слов в порт 80386
STC Установить флаг переноса 8086
CLC Сбросить флаг переноса 8086
CMC Инвертировать флаг переноса 8086
STD Установить флаг направления 8086
CLD Сбросить флаг направления 8086
LAHF Загрузить флаги состояния в AH 8086
SAHF Загрузить флаги состояния из AH 8086
PUSHF Поместить FLAGS в стек 8086
PUSHFD Поместить EFLAGS в стек 80386
POPF Загрузить FLAGS из стека 8086
POPFD Загрузить EFLAGS из стека 80386
CLI Запретить прерывания 8086
STI Разрешить прерывания 8086
SALC Установить AL в соответствии с CF 8086
LDS приёмник,источник Загрузить адрес используя DS 8086
LES приёмник,источник Загрузить адрес используя ES 8086
LFS приёмник,источник Загрузить адрес используя FS 80386
LGS приёмник,источник Загрузить адрес используя GS 80386
LSS приёмник,источник Загрузить адрес используя SS 8086
NOP Отсутствие операции 8086
LOCK Префикс блокировки шины данных 8086
UD2 Неопределенная операция P6
CPUID Идентифекация процессора 80486
************************************************** ************************************************** **********************
FPU
************************************************** ************************************************** **********************
FLD источник Загрузить вещественное число в стек 8087
FST приёмник Скопировать вещественное число из стека 8087
FSTP приёмник Считать вещественное число из стека 8087
FILD источник Загрузить целое число в стек 8087
FIST приёмник Скопировать целое число из стека 8087
FISTP приёмник Считать целое число из стека 8087
FBLD источник Загрузить десятичное число в стек 8087
FBSTP приёмник Считать десятичное число из стека 8087
FXCH источник Обменять местами два регистра стека 8087
FCMOVcc приёмник,источник Условная пересылка данных P6
FADD приёмник,источник Сложение вещественных чисел 8087
FADDP приёмник,источник Сложение с выталкиванием из стека 8087
FLADD источник Сложение целых чисел 8087
FSUB приёмник,источник Вычетание вещественных чисел 8087
FSUBP
FISUB источник Вычетание целых чисел 8087
FSUBR приёмник,источник Обратное вычетание вещественных чисел 8087
FSUBRP приёмник,источник Обратное вычетан. с выталкиванием из стека 8087
FISUBR источник Обратное вычетание целых чисел 8087
FMUL приёмник,источник Умножение вещественных чисел 8087
FMULP приёмник,источник Умножение с выталкиванием из стека 8087
FIMUL источник Умножение целых чисел 8087
FDIV приёмник,источник Деление вещественных чисел 8087
FDIVP приёмник,источник Деление с выталкиванием из стека 8087
FIDIV источник Деление целых чисел 8087
FDIVR приёмник,источник Обратное деление вещественных чисел 8087
FDIVRP приёмник,источник Обратное деление с выталкиванием 8087
FIDIVR источник Обратное деление целых чисел 8087
FPREM Найти частичный остаток от деления 8087
FPREM1 Найти частичный остаток в стандарте IEEE 80387
FABS Найти абсолютное значение 8087
FCHS Изменить знак 8087
FRNDINT Округлить до целого 8087
FSCALE Масштабировать по степеням двойки 8087
FXTRACT Извлечь экспоненту и мантиссу 8087
FSQRT Извлечь квадратный корень 8087
FCOM источник Сравнить вещественные числа 8087
FCOMP источник Сравнить и выталкнуть из стека 8087
FCOMPP Сравнить и выталкнуть из стека два числа 8087
FUCOM источник Сравнить веществ. числа без учета порядков 80387
FUCOMP источник Сравн. без учёта порядкв. и выталкн. из стек. 80387
FUCOMPP Сравн. без учёта пор. и выталкн. два числа 80387
FICOM источник Сравнить целые числа 8087
FICOMP источник Сравнить целые и вытолкнуть из стека 8087
FCOMI источник Сравнить и установить EFLAGS P6
FCOMIP источник Сравнить установить EFLAGS и выталкнуть P6
FUCOMI источник Сравн. без учёта пордк. и установ. EFLAGS P6
FUCOMIP источник Сравн. без учёта пордк. и установ. EFLAGS и выталкн из стека P6
FTST Проверить,не содержит ли SP (0) ноль 8087
FXAM Проанализировать соержимое ST (0) 8087
FSIN Синус 80387
FCOS Косинус 80387
FSINCOS Синус и косинус 80387
FPTAN Тангенс 8087
FPATAN Арктангенс 8087
F2XM1 Вычисление 2x-1 8087
FYL2X Вычисление y x log2 (x) 8087
FYL2XP1 Вычисление y x log2 (x+1) 8087
FLD1 Поместить в стек 1,0 8087
FLDZ Поместить в стек +0,0 8087
FLDPI Поместить в стек число p 8087
FLDL2E Поместить в стек log2 (e) 8087
FLDL2T Поместить в стек log2 (10) 8087
FLDLN2 Поместить в стек ln (2) 8087
FLDLG2 Поместить в стек lg (2) 8087
FINCSTP Увеличить указатель вершины стека 8087
FDECSTP Уменьшить указатель вершины стека 8087
FFREE операнд Освободить регистр данных 8087
FINIT Инициализировать FPU 8087
FININIT Инициализировать FPU без ожидания 8087
FCLEX Обнулить флаги исключений 8087
FNCLEX Обнулить флаги исключений без ожидания 8087
FSTCW приёмник Сохранить регистр CR 8087
FNSTCW приёмник Сохранить регистр CR без ожидания 8087
FLDCW источник Загрузить регистр CR 8087
FSTENV приёмник Сохранить вспомогательные регистры 8087
FNSTENV приёмник Сохранить вспомогательные регистры без ожидания 8087
FLDENV источник Загрузить вспомогательные регистры 8087
FSAVE приёмник Сохранить состояние FPU 8087
FNSAVE приёмник Сохранить состояние FPU без ожидания 8087
FXSAVE приёмник Быстрое сохранение состояния FPU P2
FRSTOR источник Восстановить состояния FPU 8087
FXRSTOR источник Быстрое восстановление состояния FPU P2
FSTSW приёмник Сохранить регистр SR 80287
FNSTSW приёмник Сохранить регистр SR без ожидания 80287
WAIT Ожидание готовности FPU 8087
FWAIT
FNOP Отсутствие операции 8087
************************************************** ************************************************** ******************************
MMX
************************************************** ************************************************** ******************************
MOVD приёмник,источник Пересылка двойных слов MMX
MOVQ приёмник,источник Пересылка учетверённых слов MMX
PACKSSWB приёмник,источник Упаковка со знаковым насыщением MMX
PACKSSDW приёмник,источник
PACKUSWB приёмник,источник Упаковка с беззнаковым насыщением MMX
PUNPCKHBW приёмник,источник Распаковка и объединение старших элементов MMX
PUNPCKHWD приёмник,источник Распаковка и объединение старших элементов MMX
PUNPCKHDQ приёмник,источник Распаковка и объединение старших элементов MMX
PUNPCKLBW приёмник,источник Распаковка и объединение младших элементов MMX
PUNPCKLWD приёмник,источник Распаковка и объединение младших элементов MMX
PUNPCKLDQ приёмник,источник Распаковка и объединение младших элементов MMX
PADDB приёмник,источник Сложение MMX
PADDW приёмник,источник Сложение MMX
PADDD приёмник,источник Сложение MMX
PADDSB приёмник,источник Сложение с насыщением MMX
PADDSW приёмник,источник Сложение с насыщением MMX
PADDUSB приёмник,источник Беззнаковое сложение с насыщением MMX
PADDUSW приёмник,источник Беззнаковое сложение с насыщением MMX
PSUBB приёмник,источник Вычитание MMX
PSUBW приёмник,источник Вычитание MMX
PSUBD приёмник,источник Вычитание MMX
PSUBSB приёмник,источник Вычитание с насыщением MMX
PSUBSW приёмник,источник Вычитание с насыщением MMX
PSUBUSB приёмник,источник Беззнаковое вычитание с насыщением MMX
PSUBUSW приёмник,источник Беззнаковое вычитание с насыщением MMX
PMULHW приёмник,источник Старшее умножение MMX
PMULLW приёмник,источник Младшее умножение MMX
PMADDWD приёмник,источник Умножение и сложение MMX
PCMPEQB приёмник,источник Проверка на равенство MMX
PCMPEQW приёмник,источник Проверка на равенство MMX
PCMPEQD приёмник,источник Проверка на равенство MMX
PCMPGTB приёмник,источник Сравнение MMX
PCMPGTW приёмник,источник Сравнение MMX
PCMPGTD приёмник,источник Сравнение MMX
PAND приёмник,источник Логическое И MMX
PANDN приёмник,источник Логическое НЕ-И (Штрих Шеффера) MMX
POR приёмник,источник Логическое ИЛИ MMX
PXOR приёмник,источник Логическое исключающее ИЛИ MMX
PSLLW приёмник,источник Логический сдвиг влево MMX
PSLLD приёмник,источник Логический сдвиг влево MMX
PSLLQ приёмник,источник Логический сдвиг влево MMX
PSRLW приёмник,источник Логический сдвиг вправо MMX
PSRLD приёмник,источник Логический сдвиг вправо MMX
PSRLQ приёмник,источник Логический сдвиг вправо MMX
PSRAW приёмник,источник Арифметический сдвиг вправо MMX
PSRAD приёмник,источник Арифметический сдвиг вправо MMX
EMMS Освободить регистры MMX MMX
************************************************** ************************************************** ******************************
SSE
************************************************** ************************************************** ******************************
MOVAPS приёмник,источник Переслать выравненные упакованные числа P3
MOVUPS приёмник,источник Переслать невыравненные упакованные числа P3
MOVHPS приёмник,источник Переслать старшие упакованные числа P3
MOVLPS приёмник,источник Переслать младшие упакованные числа P3
MOVHLPS приёмник,источник Переслать старшие упакованные числа в младшие P3
MOVLHPS приёмник,источник Переслать младшие упакованные числа в старшие P3
MOVMSKPS приёмник,источник Переслать маску в переменную P3
MOVSS приёмник,источник Переслать одно вещественное число P3
ADDPS приёмник,источник Сложение упакованных вещественных цисел P3
ADDSS приёмник,источник Сложение одного вещественного числа P3
SUBPS приёмник,источник Вычетание упакованных вещественных цисел P3
SUBSS приёмник,источник Вычетание одного вещественного числа P3
MULPS приёмник,источник Умножение упакованных вещественных чисел P3
MULSS приёмник,источник Умножение одного вещественного числа P3
DIVPS приёмник,источник Деление упакованных вещественных чисел P3
DIVSS приёмник,источник Деление одного вещественного числа P3
SQRTPS приёмник,источник Корень из упакованных вещественных чисел P3
SQRTSS приёмник,источник Корень из одного вещественного числа P3
RCPPS приёмник,источник Обратная величина для упакованных чисел P3
RCPSS приёмник,источник Обратная величина для одного числа P3
RSQRTPS приёмник,источник Обратный корень из упакованных чисел P3
RSQRTSS приёмник,источник Обратный корень из одного числа P3
MAXPS приёмник,источник Максимум для упакованных вещественных чисел P3
MAXSS приёмник,источник Максимум для одной пары вещественных чисел P3
MINPS приёмник,источник Минимум для упакованных вещественных чисел P3
MINSS приёмник,источник Минимум для одной пары вещественных чисел P3
CMPPS приёмник,источник,предикат Сравнение упакованных вещественных чисел P3
CMPSS приёмник,источник,предикат Сравнение одной пары упакованных чисел P3
COMISS приёмник,источник Сравнение одной пары чисел с установкой флагов P3
UCOMISS приёмник,источник Сравнение одной пары неупорядоченных чисел с утановкой флагов P3
CVTPI2PS приёмник,источник Преобразовать упакованные целые в вещественные P3
CVTPS2PI приёмник,источник Преобразовать упакованные вещественные в целые P3
CVTSI2SS приёмник,источник Преобразовать целое в вещественное P3
CVTSS2SI приёмник,источник Преобразовать вещественное в целое P3
CVTTPS2PI приёмник,источник Преобразование вещественных в целые с обрезанием P3
CVTTSS2SI приёмник,источник Преобразование вещественного в целое с обрезанием P3
ANDPS приёмник,источник Логическое И для SSE P3
ANDNPS приёмник,источник Логическое НЕ-И для SSE P3
ORPS приёмник,источник Логическое ИЛИ для SSE P3
XORPS приёмник,источник Логическое исключающее ИЛИ для SSE P3
PAVGB приёмник,источник Усреднение байтов с округлением P3
PAVGW приёмник,источник Усреднение слов с округлением P3
PEXTRW приёмник,источник,индекс Распаковать одно слово P3
PINSRW приёмник,источник,индекс Запаковать одно слово P3
PMAXUB приёмник,источник Максимум для упакованных байтов P3
PMAXSW приёмник,источник Максимум для упакованных слов P3
PMINUB приёмник,источник Минимум для упакованных байтов P3
PMINSW приёмник,источник Минимум для упакованных слов P3
PMOVMSKB приёмник,источник Считать байтовую маску P3
PMULHUW приёмник,источник Старшее умножение без знака P3
PSADBW приёмник,источник Сумма абсолют разностей P3
SHUFW приёмник,источник,индекс Переставить упакованные слова P3
SHUFPS приёмник,источник,индекс Переставить упакованные вещественные P3
UNPCKHPS приёмник,источник Распаковать старшие вещественные числа P3
UNPCKLPS приёмник,источник Распаковать младшие вещественные числа P3
LDMXCSR источник Загрузить регистр MXCSR P3
STMXCSR приёмник Сохранить регистр MXCSR P3
FXSAVE приёмник Сохранить состояние FPU,MMX,SSE P3
FXRSTOR источник Восстановить состояние FPU,MMX,SSE P3
MASKMOVQ источник,маска Записть байтов минуя кэш P3
MOVNTQ приёмник,источник Запись 64 бит минуя кэш P3
MOVNTPS приёмник,источник Запись 128 бит минуя кэш P3
PREFETCHT0 адрес Перенести данные в кэш T0 P3
PREFETCHT1 адрес Перенести данные в кэш T1 P3
PREFETCHT2 адрес Перенести данные в кэш T2 P3
PREFETCHNTA адрес Перенести данные в кэш NTA P3
SFENCE Защита записи P3
************************************************** ************************************************** ************************************************** ***********
DB Определить байт
DW Определить слово (2 байта).
DD Определить двойное слово (4 байта).
DF Определить 6 байт (адрес в формате 16-битный селектор:32-битное смещение).
DQ Определить учетверённое слово (8 байт).
DT Определить 10 байт (80-битные типы данных,используемые FPU).
************************************************** ************************************************** ************************************************** ***********
ЛОГИЧЕСКИЕ ОПЕРАЦИИ.
__________________________________________________ ________________________________
|_______И_____ |_______ИЛИ___ |_______Исключающее ИЛИ____|_______Отрицание_______|
| 0 AND 0 = 0 | 0 OR 0 = 0 | 0 XOR 0 = 0 | |
| 0 AND 1 = 0 | 0 OR 1 = 1 | 0 XOR 1 = 1 | NOT 0 =1 |
| 1 AND 0 = 0 | 1 OR 0 = 1 | 1 XOR 0 = 1 | NOT 1 =0 |
| 1 AND 1 = 1 | 1 OR 1 = 1 | 1 XOR 1 = 0 | |
-------------------------------------------------------------------------------------------------------------------------------------------------
|