ZHCU947E June 2015 – January 2023
定义宏的一种方法是创建宏库。宏库是包含宏定义的文件集合。必须使用归档器将这些文件或成员收集到单个文件(称为存档)中。宏库的每个成员都包含一个宏定义。宏库中的文件必须是未汇编的源文件。宏名和成员名必须相同,且宏文件名的扩展名必须为 .asm。例如:
宏名 | 宏库中的文件名 |
---|---|
simple | simple.asm |
add3 | add3.asm |
您可以使用 .mlib 汇编器指令来访问宏库(如定义宏库中所述)。语法为:
.mlib filename |
汇编器遇到 .mlib 指令时,会打开由文件名 (filename) 指定的库并创建一个库内容表。汇编器会将库中各个成员的名称作为库条目输入到操作码表中;这将重新定义同名的任何现有操作码或宏。如果这些宏之一被调用,汇编器会从库中提取条目并将其加载到宏表中。
汇编器采用与扩展其他宏相同的方式扩展库条目。请参阅GUID-45DD42A8-D3EE-4423-AE26-88F5DF175D21.html#GUID-45DD42A8-D3EE-4423-AE26-88F5DF175D21,了解汇编器如何扩展宏。您可以使用 .mlist 指令控制库条目扩展的列表。有关 .mlist 指令的信息,请参阅GUID-765B1E63-358A-41B8-A0AD-B036E4F8F2AA.html#GUID-765B1E63-358A-41B8-A0AD-B036E4F8F2AA和启动/停止宏扩展列表。只会提取实际从库中调用的宏,并且只提取一次。
您可以使用归档器通过在存档中包含所需文件来创建宏库。宏库与任何其他存档文件没有什么不同,只是汇编器希望宏库包含宏定义。汇编器只 期望宏库中包含宏定义;将目标代码或其他源文件放入宏库中可能会产生不良结果。有关创建宏库存档的信息,请参阅GUID-24489C86-B78A-4DB9-8D35-30568EC894E0.html#GUID-24489C86-B78A-4DB9-8D35-30568EC894E0。