【问题标题】:Why am I getting spim: (parser) Label is defined for the second time on line 7 of file when running my program?为什么我得到 spim: (parser) Label 是在运行我的程序时在文件的第 7 行第二次定义的?
【发布时间】:2021-09-16 08:37:53
【问题描述】:

我正在使用 QtSpim 制作一个快速程序,该程序应该对某些整数执行两个按位 ori 操作。当我尝试组装程序时,它给了我这个错误消息,说我不能两次使用相同的标签 - 这是我正在使用的书中的确切代码,它不起作用。

    ## Program to bitwise OR two patterns 
        .text
        .globl  main
main:
        ori      $8,$0,0x0FA5       # put first pattern into register $8
        ori     $10,$8,0x368F       # or ($8) with second pattern.  Result to $10.

## End of file

在这里我非常感谢任何人的帮助。

【问题讨论】:

  • 这段代码没有问题,如果你只加载一次。您可能会加载它两次,这会导致问题。注意:MARS 对这类事情更友好,因为它有一个内置的 IDE。
  • 非常感谢!我会看看这是否对我更有效。
  • 要了解链接器错误,如果您指定了整个构建过程将会很有帮助,这样人们就可以看到哪个确切的命令导致了错误。

标签: assembly mips qtspim spim


【解决方案1】:

对于 QtSPIM,使用选项“重新初始化和加载文件”,而不仅仅是“加载文件”。对于您的场景,“加载文件”将对同一个文件工作一次,但不会第二次工作——第二次,“加载文件”将累积,因此它可以用于为同一个模拟加载单独的不同文件(但如果加载相同的文件,它会抱怨重复的标签)。

“重新初始化和加载文件”适用于一遍又一遍地重新加载同一个文件,因为它被编辑/更改了..

(但 MARS 更容易重复编辑和模拟,因为它有一个集成的编辑器。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-06
    • 2020-01-02
    • 2021-10-18
    • 2021-04-27
    • 2013-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多