宏指令为程序员带来了符号上的便利。对于每次出现的宏,整个宏主体或语句的宏块都会在主源代码中扩展。因此,宏指令使编写代码更加方便。
宏处理器的显着特征:
- 宏表示源编程语言中的一组常用语句。
- 宏处理器用相应的源语言语句组替换每个宏指令。这称为宏扩展。
- 使用宏指令,程序员可以保留机械细节,由宏处理器处理。
- 宏处理器设计与运行它的计算机体系结构没有直接关系。
- 宏处理器涉及定义,调用和扩展。
宏定义和扩展:
Line Label Opcode Operand
5 COPY START 0
10 RDBUFF MACRO &INDEV, &BUFADR
15
.
.
90
95 MEND
- 第10行:
标签部分中的RDBUFF(读取缓冲区)是宏的名称或宏的定义。 &INDEV和&BUFADR是Operand部分中存在的参数。每个参数均以字符&开头。 - 第15行-第90行:
从第15行到第90行,存在宏体。宏指令是组成宏定义主体的语句。 - 第95行:
MEND是汇编程序指令,表示宏定义的结尾。
宏调用:
Line Label Opcode Operand
180 FIRST STL RETADR
190 CLOOP RDBUFF F1, BUFFER
15
.
.
255 END FIRST
190行:
RDBUFF是宏调用或宏调用,给出正在调用的宏指令的名称,而F1,BUFFER是扩展宏时要使用的参数。每次调用宏时,都会生成构成宏扩展的语句。