使用 NASM 时预计在行首出现标签或说明

问题描述 投票:0回答:1

我收到错误:

行首应有标签或说明

在定义由字节组成的字符串时的

.data
部分:

st2 db "num3>num1,2", 0xA, 0xD

我查看了可能的解决方案,但似乎没有一个与我正在寻找的解决方案相匹配,但所有这些解决方案要么是在输入注释时漏掉了分号,要么是 UTF-DOM 编码。 (NASM 只允许使用 ASCII)

assembly x86 nasm identifier reserved-words
1个回答
4
投票

st2
是 x87 寄存器名称。

可以

$st2: db ...
$
一起使用,强制NASM不将其解释为寄存器
,但最好选择不同的名称。

在标签末尾放置

:
可消除标签与指令助记符的歧义(例如
loop:
是标签,
loop
是没有足够操作数的指令),但显然不适用于寄存器名称。 大多数人认为在每个标签上始终放置
:
是一种很好的风格,即使是在
.data
部分(与 MASM 不同)。

© www.soinside.com 2019 - 2024. All rights reserved.