【问题标题】:Mips assembly, .data sectionMips 程序集,.data 部分
【发布时间】:2013-02-27 12:41:39
【问题描述】:

我想获取在 .data 中声明的全局值的地址。 la 指令无法识别?否则如何执行该操作

.data
word1:  .word 0
word2:  .word 0
.text
    .globl __start
    __start:
    la $v0,word1 --> here I receive a syntax error.

我想在 word1 中存储一个字节,在 word2 中存储另一个字节

我无法获取地址

【问题讨论】:

  • 使用什么汇编程序?在 MARS 上组装时效果很好
  • 您应该可以使用li。或luiori 的组合。
  • 请提供您正在使用的工具链/平台,以及错误消息。您的代码看起来不错,但语法因设置而异。 (例如,将寄存器称为 $v0 与 v0)。

标签: assembly mips


【解决方案1】:

la 不是真正的 MIPS 指令,它是一个方便的汇编宏。它通常分为luioriaddi。在链接比静态链接时已知的平面布局更复杂的系统上,您的汇编程序可能无法实现它。要访问您的数据段,您可能需要取消引用全局指针 (GP) 或执行间接加载。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-13
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    相关资源
    最近更新 更多