Assembler FAQ

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by GlobalRave, 15 Feb 2009.

  1. GlobalRave

    GlobalRave New Member

    Joined:
    4 May 2008
    Messages:
    5
    Likes Received:
    1
    Reputations:
    0
    Незнаю нужно это кому то или нет. В любом случае это было составлено лично мной и выложено только на 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 | |
    -------------------------------------------------------------------------------------------------------------------------------------------------
     
    1 person likes this.
  2. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    хм. Всё что выше FPU - довольно полезно иметь такой списочек, а вот всё что выше - банально и есть везде.
    Хотя предпочитаю юзать справку по FASM там многое тож описано )
    P.S. а где SYSENTER мой любимый?
     
  3. GlobalRave

    GlobalRave New Member

    Joined:
    4 May 2008
    Messages:
    5
    Likes Received:
    1
    Reputations:
    0
    SYSENTER добавим. От ошибок невнимательности некто незастрахован,если кто нашол что не так пишите плиз,а то потом кто-то будет голову ломать почему что-то не так работает.