Assembler - язык неограниченных возможностей

         

Передача параметров по имени


Это механизм, который используют макроопределения, директива EQU, а также, например, препроцессор С при обработке команды #define. При реализации этого механизма в компилирующем языке программирования (к которому относится и ассемблер) приходится заменять передачу параметра по имени другими механизмами при помощи, в частности, макроопределений.

Если определено макроопределение

pass_by_name macro parameter1 mov ax,parameter1 endm

то теперь в программе можно передавать параметр так:

pass_by_name value call procedure

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



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