|
|
|
|
NPX переключатели MASM - /r и /s
После записи программы в файл, необходимо использовать MASM
для ее трансляции. Если применяется стандартная командная строка
MASM, то каждая встреченная команда NPX выдает синтаксическую
ошибку. Это происходит из-за того, что в режиме нормальной работы
MASM ничего не знает о NPX. Для трансляции команд NPX надо применять переключатель командной строки /r (реальный режим), что указывает MASM на наличие в исходном файле команд NPX:
A:>masm test.asm test.obj test.lst test.crf/r
|
Благодаря этому MASM узнает, что транслируемая программа
предназначена для выполнения с реальным NPX. MASM затем генерирует правильные коды операций NPX с префиксом кода операции FWAIT,
если не используется одна из команд FN. (Тем не менее, обратите внимание, что хотя команда NPX FNOP начинается с FN, MASM
генерирует префикс FWAIT.)
MASM имеет еще один переключатель, который указывает ему на
необходимость трансляции команды NPX. Это переключатель /e (режим
эмуляции). Переключатель /e почти идентичен переключателю реального режима, единственное отличие заключается в том, что команды
no-wait (FN) не транслируются. Этот переключатель нужен пользователям, имеющим эмуляционные библиотеки, которые для эмуляции
программ могут заменять коды операций NPX вызовами главного центрального процессора. Так как MASM не имеет такую эмуляционную
библиотеку и нет необходимости в ее использовании, если Вы имеете
реальное NPX, то мы больше не будем обсуждать эту тему.
|
|