Аргументы макрокоманд
В обработке макрокоманд применяется одно из ценных свойств
процедур: в генерацию макрокоманды можно вносить изменения с
помощью параметров. Точно так же, как параметры подпрограммы могут
влиять на ее выполнение, параметры макрокоманды определяют
фактически генерируемые команды. И так же, как и процедуры,
макрокоманды без параметров встречаются относительно редко.
Рассмотрим еще один простой пример. Мы составили программу так,
что во многих ее местах содержимое определенной ячейки памяти
складывается с различными константами. Вместо того, чтобы много раз
писать команду
ADD MEMORY_BYTE,5
или
ADD MEMORY_BYTE,7
нам хотелось бы воспользоваться для нее соответствующей
макрокомандой. Однако во всех приведенных командах константы
разные. Поэтому мы сделаем константу параметром макрокоманды. На
Фиг. 6.2 показаны определение и применение макрокоманды ADDBYTE. В
этом примере в качестве параметра в определении макрокоманды
используется символическое имя CONSTANT. Любые символичесике имена,
появляющиеся в поле операнда оператора MACRO, интерпретируются как
параметры. В момент определения макрокоманды у имени CONSTANT нет
никакого значения: оно просто резервирует место в тексте
макрокоманды. Позднее, при вызове и обработке текста макрокоманды,
вместо символического имени в определении макрокоманды
подставляется определенное значение параметра.
Важно отметить, что параметр макрокоманды - это текстовый
параметр. Так как макропроцессор фактически является текстовым
процессорорм, то он не отличает цифры от букв и наоборот. Это
позволяет при вызове макрокоманды использовать вместо чисел
символические имена. Любой смысл приписывается символьной строке не
макропроцессором, а ассемблером. Макропроцессор подставляет
Microsoft (R) Macro Assembler Version 5.00 1/1/80 04:02:43
Фиг. 6.2 Макрокоманда с аргументом Page 1-1
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий