Turbo Assembler 3.0. Руководство пользователя

         

C. Вопросы совместимости


Турбо Ассемблер в режиме MASM в высокой степени совместим с ассемблером MASM версии 5.2. Однако стопроцентная совместимость - это идеал, к которому можно только стремиться, т.к. формальная спецификация языка отсутствует, и даже различные версии MASM не полностью совместимы друг с другом.

Для большинства программ замена MASM на Турбо Ассемблер не повлечет за собой каких-либо осложнений. В некоторых случаях в Турбо Ассемблере появятся предупреждающие сообщения и сообщения об ошибках там, где их в MASM не было, что обычно означает, что ошибочный оператор не был выявлен макроассемблером MASM. Напри- мер, MASM не обнаруживает ошибок в следующих операторах:

abc EQU [BP+2] PUBLIC abc

и генерирует бессмысленный объектный код. В Турбо Ассемблере по- добная конструкция, а также ряд других двусмысленных конструкций, будут идентифицированы как ошибочные.

Если при ассемблировании программы пользователя с помощью Турбо Ассемблера возникнут какие-либо затруднения, то можно попы- таться использовать директиву QUIRKS. Например, если с помощью следующей командной строки:

TASM /JQUIRKS MYFILE

программа будет ассемблирована правильно, то следует добавить в начало исходного файла директиву QUIRKS. Еще лучше, используя сведения из этого приложения, определить операторы, для которых требуется директива QUIRKS, и после этого переписать соответству- ющие строки исходного файла так, чтобы отпала необходимость ис- пользования директивы QUIRKS.

Для максимальной совместимости с MASM следует использовать директиву NOSMART и режим QUIRKS.



Содержание раздела