NASM 尝试将变量添加到宏内的不同部分

NASM trying to add variables to different sections inside a macro

我想创建一个宏来初始化协程,所以我需要为每个变量取一个不同的名称。 为此,我将为每个协程获取一个唯一的 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)? 甚至可以修改宏中的部分吗? 如果可能的话,我怎样才能在我的宏中做到这一点? 谢谢!

我想建议一个我自己的问题的答案, 我对这个问题所做的是实现一个 "array" 来保存每个协程的变量。 每个协程都会得到一个唯一的ID号,他会用自己的ID在"array"里面找到属于自己的变量。 假设每个协程都有5个变量,那么当前协程会这样取他的变量:array[(ID*5)+0] ... array[(ID*5)+4] . 希望我的解决方案也能帮助其他程序员。