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


Тело макрокоманды, состоящей из нескольких строк


Независимо от содержимого тела макрокоманды, средство обра- ботки макрокоманд Турбо Ассемблера интерпретирует макрокоманду, состоящую из нескольких строк, как просто несколько строк текста. Турбо Ассемблер позволяет вам заменить идентификаторы в теле мак- рокоманды текстом, заданным при вызове макрокоманды. Это средство называется подстановкой аргументов. Идентификаторы в теле макро- команды, которые должны быть заменены, называются формальными (фиктивными) аргументами. Предположим, например, что идентифика- тор foo - это формальный аргумент в следующем теле макрокоманды:

PUSH foo MOV foo,1

Если при вызове данной макрокоманды вы присваиваете foo текстовую строку AX, то фактическим включаемым в модуль текст бу- дет:

PUSH foo MOV AX,1

Правила, которые Турбо Ассемблер использует для распознава- ния формальных аргументов, достаточно сложны. Рассмотрим, напри- мер, следующие строки тела макрокоманды, где формальный аргумент foo не распознается:

symfoo: DB 'It is foo time'

В общем случае Турбо Ассемблер не будет распознавать фор- мальный аргумент (без специального указания) в следующих ситуаци- ях:

- когда он является частью другого идентификатора;

- когда он находится внутри кавычек (' или ");

- в режиме Ideal, когда он указывается после двоеточия не внутри кавычек.



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