szText MACRO Name, Text:VARARG
LOCAL lbl
jmp lbl
Name db Text,0
lbl:
ENDM
任何人都知道这个宏在做什么?
答案 0 :(得分:1)
看起来它会创建一个以零结尾的字符串(因此,sz)。字符串的符号是您作为宏参数传递的任何内容,它包含您作为Text参数传递的任何内容,以及终止0。
它输出一个跳转指令跳过字符串,然后是字符串本身的字节。跳转的标签被声明为宏的本地标签,因此它不会污染全局命名空间。
我已经有一段时间了,因为我已经完成了x86汇编语言,但我想这会把字符串数据放在代码段中,而不是把它放在数据段中,这看起来有点奇怪。