Страница 51 из 56
Новый оператор asm может размещатся на той же строке, следуя
после точки с запятой, но он не может продолжаться на следующую
строку.
Точка с запятой не может быть использована для начала ком-
ментария (как это возможно в TASM). Для того, чтобы комментиро-
вать операторы asm, используют комментарии в стиле Си, т.е.
asm mov ax,ds; /*Этот комментарий правильный*/
asm pop ax; asm pop ds; asm iret; /*Комментарий правильный*/
asm push ds; ЭТОТ КОММЕНТАРИЙ НЕПРАВИЛЬНЫЙ!!
Заметим, что последняя строка приводит к ошибке, т.к. комен-
тарий здесь некорректен.
Пара
- строковые команды - специальные команды управления строками;
- команды перехода - различные команды перехода;
- директивы ассемблера - определение и размещение данных.
Заметим, что компилятор допускает любые операнды, даже если
они ошибочны или недопустимы с точки зрения ассемблера. Компиля-
тор не накладывает ограничений на формат операндов.
- 423,424 -
Команды
-----------------------------------------------------------------
Далее следует полный список мнемоники команд, которые могут
быть использованы в качестве нормальных команд:
ННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННН
aaa fcom fldl2t fsub or
aad fcomp fldlg2 fsubp out
aam fcompp fldln2 fsubr pop
aas fdecstp ** fldlpi fsubrp popa
adc fdisi fldz ftst popf
add fdivi fmul fwait push
and fdivp fmulp fxam pusha
bound fdivr fnclex fxch pushf
call fdivrp fndisi fxtract rcl
cbw feni fneni fyl2x rcr
clc ffree ** fninit fyl2xpl ret
cld fiadd fnop hlt rol
cli ficom fnsave idiv ror
cmc ficomp fnstcw imul sahf
cmp fidiv fnstenv in sal
cwd fidivr fnstsw inc sar
daa fild fpatan int sbb
das fimul fprem into shl
dec fincstr ** fptan iret shr
div finit frndint lahf sbc
enter fist frstor lds std
f2xm1 fistp fsave lea sti
fabs fisub fscale leave sub
fadd fisubr fsqrt les test
faddp fld fst mov wait
fbld fld1 fstcw mul xchg
fbstp fldcw fstenv neg xlat
fchs fldenv fstp not xor
fclex fldl2e fstsw
ННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННН
Таблица 12.7. Мнемоника кодов операций
Замечание: когда вы используете мнемонику команд 80186 в
операторах встроенного ассемблера, то должны включить опцию ко-
мандной строки -1. Это вызовет вывод в компилятор ассемблера не-
обходимых операторов, так что TASM будет правильно понимать мне-
- 425,426 -
монику команд. Кроме того, если вы используете более ранние
версии ассемблера, то эта мнемоника кодов не поддерживается.
Другое замечание: если вы используете встроенный ассемблер в
подпрограммах с эмуляцией команд с плавающей точкой (опция TCC
-f), то операции, помеченные (**), не поддерживаются.