В стандартном режиме Турбо Ассемблер выполняет ассемблирова- ние за один проход, а MASM - за два прохода. Поэтому Турбо Ас- семблер - более быстрый ассемблер по сравнению с MASM. Однако од- нопроходность Турбо Ассемблера может привести к некоторой его несовместимости с MASM при разрешении ссылок вперед и обработке конструкций, зависящих от прохода. В TASM имеется параметр ко- мандной строки (/m), с помощью которого можно задать число прохо- дов. Если требуется обеспечить максимум совместимости с MASM, то нужно указать двухпроходный режим (/m2). (См. Главу 2, где данный параметр обсуждается более подробно.)
Использование данного параметра командной строки будет гене- рировать режим, совместимый с MASM (два прохода), когда присутс- твуют следующие конструкции:
- директивы IF1 и IF2;
- директивы ERR1 и ERR2;
- ссылки вперед с IFDEF и IFNDEF;
- опережающие ссылки с операцией .TYPE;
- рекурсивно определенные числа, такие, как
NMBR=NMBR+1;
- рекурсивно определенные текстовые макрокоманды или тексто- вые макрокоманды, на которые имеются опережающие ссылки, такие, как:
LNAME CATSTR LNAME,<1>
- макрокоманды, на которые имеются опережающие ссылки.