为什么在使用nasm编译汇编代码时出现这个奇怪的错误?

时间:2014-02-22 16:26:38

标签: assembly nasm

测试平台是Linux 32位。

我用

nasm -f elf final.s

汇编代码,它会产生这些错误:

final.s:40454: error: (at:1) `%$strucname': context stack is empty
final.s:40454: error: (at:1) `%$strucstart': context stack is empty
final.s:40454: error: (at:1) `%$strucname': context stack is empty
final.s:40454: error: (at:1) `%$strucstart': context stack is empty
final.s:40454: error: expecting `)'
final.s:40454: error: label or instruction expected at start of line

这是我的代码的一部分:

40451
40452 byte_4092CA     db 89h, 0FFh
40453 off_415E82      dd $LN119
40454 aT              db 'T',0

40454是我的代码的最后一行

我没有看到这种错误,经过快速谷歌,我找不到任何有用的东西。

有人能给我一些帮助吗?谢谢!

--------------更新--------------

我尝试将这行代码放到其他地方,但是同样的错误......,这意味着它不是最后一行的一些问题

1 个答案:

答案 0 :(得分:1)

“at”是用于初始化结构的关键字。显然,当你用它作为一个符号时,Nasm(非常!)很困惑。我以为我非常了解Nasm,但这对我来说是新的!只需将您的变量称为其他内容 - _aT似乎有效......