Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
szText MACRO Name, Text:VARARG LOCAL lbl jmp lbl Name db Text,0 lbl: ENDM
有人知道这个宏在做什么吗?
看起来它创建了一个以零结尾的字符串(因此,sz)。字符串的符号是您作为 Name 参数传递给宏的任何内容,它包含您作为 Text 参数传递的任何内容,加上终止符 0。
它输出一个跳转指令以跳过字符串,然后是字符串本身的字节。跳转的标签被声明为宏的本地标签,因此它不会污染全局命名空间。
自从我完成 x86 汇编语言以来已经有一段时间了,但我想这会将字符串数据正确地放在代码段中,而不是把它放在数据段中,这似乎有点奇怪。