Небольшой отрывок из книги.
Лямин Л.В. Макроассемблер MASM. Справочник — М.: Радио и связь, 1994
Специально перепечатала, т.к. иногда бывает полезно, а носить с собой постоянно книгу — не удобно.
| Синтаксис | Действие |
| AAA | Коррекция для сложения ASCII |
| AAD | Коррекция для деления ASCII |
| AAM | Коррекция для умножения ASCII |
| AAS | Коррекция для вычитания ASCII |
| ADC accum,immed | Непосредственное сложение с переносом в аккумулятор |
| ADC r/m,immed | Непосредственное сложение с переносом в операнд |
| ADC r/m, reg | Сложение с регистром, с переносом в операнд |
| ADC reg,r/m | Сложение с операндом, с переносом в регистр |
| ADD accum,immed | Непосредственное сложение с аккумулятором |
| ADD r/m,immed | Непосредственное сложение с операндом |
| ADD r/m,reg | Сложение регистра с операндом |
| ADD reg,r/m | Сложение операнда с регистром |
| AND accum,immed | Побитовая операция AND непосредственного значения с операндом |
| AND r/m,immed | Побитовая операция AND непосредственного значения с операндом |
| AND r/m,reg | Побитовая операция AND регистра с операндом |
| AND reg,r/m | Побитовая операция AND операнда с регистром |
| CALL label | Обращение к инструкции по метке |
| CALL r/m | Косвенное обращение к инструкции |
| CBW | Преобразование байта в слово |
| CLC | Снятие флага переноса |
| CLD | Снятие флага адресации |
| CLI | Снятие флага прерывания |
| CMC | Дополнение флага переполнения |
| CMP accum,immed | Сравнение непосредственного значения с аккумулятором |
| CMP r/m,immed | Сравнение непосредственного значения с операндом |
| CMP r/m,reg | Сравнение регистра с операндом |
| CMP reg,r/m | Сравнение операнда с регистром |
| CMPS src,dest | Сравнение строк |
| CMPSB | Побайтовое сравнение строк |
| CMPSW | Пословное сравнение строк |
| CWD | Преобразование слова в двойное слово |
| DAA | Десятичная коррекция для сложения |
| DAS | Десятичная коррекция для вычитания |
| DEC r/m | Уменьшение (декремент) операнда |
| DEC reg | Уменьшение 16-битового регистра |
| DIV r/m | Деление аккумулятора на операнд |
| ESC immed,r/m | Переход с 6-битовым непосредственным значением и операндом |
| HLT | Останов |
| IDIV r/m | Целочисленное деление аккумулятора на операнд |
| IMUL r/m | Целочисленное умножение аккумулятора на операнд |
| IN accum,immed | Ввод с порта (8-битовое непосредственное значение) |
| IN accum,DX | Ввод с порта, задаваемого DX |
| INC r/m | Увеличение (инкремент) операнда |
| INC reg | Увеличение значения 16-битового регистра |
| INT 3 | Программное прерывание 3 (кодированное как один байт) |
| INT immed | Программное прерывание 0-255 |
| INTO | Прерывание по переполнению |
| IRET | Возврат из прерывания |
| JA label | Переход по большему (без знака) |
| JAE label | Переход по большему или равному (без знака) |
| JB label | Переход по меньшему (без знака) |
| JBE label | Переход по меньшему или равному (без знака) |
| JC label | Переход по переносу |
| JCXZ label | Переход по нулю в CX |
| JE label | Переход по равенству |
| JG label | Переход по превышению (со знаком) |
| JGE label | Переход по превышению или равенству (со знаком) |
| JL label | Переход по условию меньше со знаком |
| JLE label | Переход по условию меньше или равно (со знаком) |
| JMP label | Переход к инструкции по метке |
| JMP r/m | Косвенный переход к инструкции |
| JNA label | Переход по небольшому (без знака) |
| JNAE label | Переход по небольшему или неравному (без знака) |
| JNB label | Переход по неменьшему (без знака) |
| JNBE label | Переход по неменьшему или неравному (без знака) |
| JNC label | Переход по отсутствию переноса |
| JNE label | Переход по неравенству |
| JNG label | Переход по непревышению (со знаком) |
| JNGE label | Переход по непревышению или неравенству (со знаком) |
| JNL label | Переход по условию не меньше (со знаком) |
| JNLE label | Переход по условию не меньше или равно (со знаком) |
| JNO label | Переход по отсутствию переполнения |
| JNP label | Переход по нечетности |
| JNS label | Переход по отсутствию знака |
| JNZ label | Переход по ненулевому значению |
| JO label | Переход по переполнению |
| JP label | Переход по четности |
| JPE label | Переход по проверке на четность |
| JPO label | Переход по проверке на нечетность |
| JS label | Переход по знаку |
| JZ label | Переход по нулевому значению |
| LAHF | Загрузка флагов в AH |
| LDS r/m | Загрузка операнда в DS |
| LEA r/m | Загрузка эффективного адреса операнда |
| LES r/m | Загрузка операнда в ES |
| LOCK | Блокировка шины |
| LODS src | Загрузка строки |
| LODSB | Загрузка байта из строки в AL |
| LODSW | Загрузка слова из строки в AL |
| LOOP label | Цикл |
| LOOPE label | Цикл до сохранения равенства |
| LOOPNE label | Цикл до сохранения неравенства |
| LOOPNZ label | Цикл до сохранения ненулевого значения |
| LOOPZ label | Цикл до сохранения нулевого значения |
| MOV accum,mem | Перемешение из памяти в аккумулятор |
| MOV mem,accum | Перемешение из аккумулятора в память |
| MOV r/m,immed | Перемещение непосредственного значения в операнд |
| MOV r/m,reg | Перемещение из регистра в операнд |
| MOV r/m,segreg | Перемещение из сегментного регистра в операнд |
| MOV reg,immed | Перемещение непосредственного значения в регистр |
| MOV reg,r/m | Перемещение операнда в регистр |
| MOV segreg,r/m | Перемещение операнда в сегментный регистр |
| MOV dest,src | Перемещение строки |
| MOVSB | Побайтовое перемещение строки |
| MOVSW | Пословное перемещение строки |
| MUL r/m | Умножение аккумулятора на операнд |
| NEG r/m | Отрицание операнда (или дополнение до двух) |
| NOP | Отсутствие операции |
| NOT r/m | Инверсия битов операнда (поразрядное дополнение) |
| OR accum,immed | Побитовая операция OR непосредственного операнда с аккумулятором |
| OR r/m,immed | Побитовая операция OR непосредственного операнда с операнда |
| OR r/m,reg | Побитовая операция OR регистра с операндом |
| OR reg,r/m | Побитовая операция OR операнда с регистром |
| OUT DX,accum | Вывод на порт, задаваемый DX |
| OUT immed,accum | Вывод на порт (8-битовое непосредственное значение) |
| POP r/m | Выталкивание 16-битового операнда из стека |
| POP reg | Выталкивание 16-битового значения регистра из стека |
| POP segreg | Выталкивание из стека значения сегментного регистра |
| POPF | Выталкивание значений флагов из стека |
| PUSH r/m | Ввод 16-битового операнда в стек |
| PUSH reg | Ввод 16-битового значения регистра в стек |
| PUSH segreg | Ввод значения сегментного регистра в стек |
| PUSHF | Ввод значений флагов в стек |
| RCL r/m,1 | Циклический сдвиг на один бит влево через перенос |
| RCL r/m,CL | Циклический сдвиг влево на значение CL через перенос |
| RCR r/m,1 | Циклический сдвиг на один бит вправо через перенос |
| RCR r/m,CL | Циклический сдвиг вправо на значение CL через перенос |
| REP | Повторение |
| REPE | Повторение по равенству |
| REPNE | Повторение по неравенству |
| REPNZ | Повторение по ненулевому значению |
| REPZ | Повторение по нулевому значению |
| RET {immed} | Возврат после выталкивания байтов из стека |
| ROL r/m,1 | Циклический сдвиг влево на 1 бит |
| ROL r/m,CL | Циклический сдвиг влево на значение CL |
| ROR r/m,1 | Циклический сдвиг вправо на 1 бит |
| ROR r/m,CL | Циклический сдвиг вправо на значение CL |
| SAHF | Запоминание AH в значениях флагов |
| SAL r/m,1 | Арифметический сдвиг влево на 1 бит |
| SAL r/m,CL | Арифметический сдвиг влево на значение CL |
| SAR r/m,1 | Арифметический сдвиг вправо на 1 бит |
| SAR r/m,CL | Арифметический сдвиг вправо на значение CL |
| SBB accum,immed | Вычитание непосредственного значения и флага переполнения |
| SBB r/m,immed | Вычитание непосредственного значения и флага переполнения |
| SBB reg,r/m | Вычитание операнда и флага переполнения |
| SCAS dest | Просмотр строки |
| SCASB | Просмотр строки в отношении байта в AL |
| SCASW | Просмотр строки в отношении слова в AX |
| SHL r/m,1 | Сдвиг влево на 1 бит |
| SHL r/m,CL | Сдвиг влево на значение CL |
| SHR r/m,1 | Сдвиг вправо на 1 бит |
| SHR r/m,CL | Сдвиг вправо на значение CL |
| STC | Установка флага переполнения |
| STD | Установка флага адресации |
| STI | Установка флага прерывания |
| STOS dest | Запоминание строки |
| STOSB | Запоминание байта в AL в строке |
| STOSW | Запоминание слова в AX в строке |
| SUB accum,immed | Вычитание непосредственного значения из аккумулятора |
| SUB r/m,immed | Вычитание непосредственного значения из операнда |
| SUB r/m,reg | Вычитание значения регистра из операнда |
| SUB reg,r/m | Вычитание значения операнда из регистра |
| TEST accum,immed | Сравнение битов непосредственного значения с аккумулятором |
| TEST r/m,immed | Сравнение битов непосредственного значения с операндом |
| TEST r/m,reg | Сравнение битов регистра с операндом |
| TEST reg,r/m | Сравнение битов операнда с регистром |
| WAIT | Ожидание |
| XCHG accum,reg | Обмен значений аккумулятора с регистром |
| XCHG r/m,reg | Обмен значений операнда с регистром |
| XCHG reg,accum | Обмен значений регистра с аккумулятором |
| XCHG reg,r/m | Обмен значений регистра с операндом |
| XLAT mem | Трансляция (преобразование) |
| XOR accum,immed | Побитовая операция XOR непосредственного значения с аккумулятором |
| XOR r/m,immed | Побитовая операция XOR непосредственного значения с операндом |
| XOR r/m,reg | Побитовая операция XOR регистра с операндом |
| XOR reg,r/m | Побитовая операция XOR операнда с регистром |
Используемая терминология
| accum | Один из аккумуляторов: AX или AL |
| reg | Один из регистров с размерностью байта или слова. По байтам: AL,AH,BL,BH,CL,CH,DL,DH. По словам: AX,BX,CX,DX,SI,DI,BP,SP. |
| segreg | Один из сегментных регистров: CS,DS,SS,ES. |
| r/m | Один из общих операндов: регистр, адрес памяти, индексный операнд, базовый операнд, базово-индексный операнд. |
| immed | 8- или 16-битовое непосредственное значение: константа или символьное имя. |
| mem | Один из операндов в памяти: метка, переменная, символьное имя. |
| label | Метка инструкции |
| src | Источник в строковых операциях |
| dest | Адресат в строковых операциях |