“spim: (parser) 语法错误在线 [...]” 我使用了标签 .byte

And*_*rew 5 assembly gnu-assembler att

当我在汇编中编程并使用标签时.byte,我在使用Qtspim. 我试图改变位置或值,但问题仍然存在,可能是标签。

错误回复在第 3 行。在标签的末尾,您可以找到解析器。

main:

.data
  v    : .byte 2,0,0,0,4,0,0,0
  array: .byte 2,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0

[..] # other code
Run Code Online (Sandbox Code Playgroud)

当我更改指令.byte.space,问题不会发生。

我该如何解决?

Sam*_*nen 2

问题是至少 QtSpim 要求数组在逗号后面有空格。所以这会很好地工作:

.data
v:  .byte 2, 0, 0, 0, 4, 0, 0, 0
Run Code Online (Sandbox Code Playgroud)

只需记住在每个值后添加一个空格即可。

原因是 QtSpim 使用的解析器允许使用逗号或点作为小数点分隔符。因此,除非有空格分隔,否则它会对您的定义感到困惑。

这将允许定义浮点数:

flo:  .float 2,2
Run Code Online (Sandbox Code Playgroud)