【发布时间】:2020-06-06 13:05:23
【问题描述】:
我想创建一个宏来初始化协同程序,所以我需要为每个变量取一个不同的名称。 为此,我将为每个协同程序获得一个唯一的 ID。 这是有问题的代码:
%macro initialize 1
section .bss
STK%1: resb STKSZ
; section .data
; CO%1: dd CO%1code
; Flags%1: dd 0
; SP%1: dd STK%1 + STKSZ
section .text
%endmacro
也许我试图将 ID 号链接到给定的字符串(如:STK%1)是不可能的? 甚至可以修改宏内的部分吗? 如果可能的话,我怎么能在我的宏中做到这一点? 谢谢!
【问题讨论】:
-
您所做的看起来是正确的,应该适用于 NASM。你有什么特别的问题吗?
-
要返回原始部分,无论是什么,而不是切换到
.text,请参阅 nasm.us/doc/nasmdoc7.html#section-7.3 以获取__?SECT?__宏
标签: assembly macros nasm coroutine