Assembly 如何从寄存器中存储的地址加载值?
我有以下代码:Assembly 如何从寄存器中存储的地址加载值?,assembly,mips,Assembly,Mips,我有以下代码: [Reader]: $80820000 // Current position in ITL. (Item Table List) LUI T4, @Reader LW T5, @Reader(T4) ; current pos in ITL. ([Reader]是我的定义。我使用MIPS汇编程序) 基本上,0x80820000应包含国际交易日志的当前位置。ITL从0x80800000开始,在整个代码中它将添加4或5,因此0x80820000稍后将更新为0x80800004
[Reader]: $80820000 // Current position in ITL. (Item Table List)
LUI T4, @Reader
LW T5, @Reader(T4) ; current pos in ITL.
([Reader]是我的定义。我使用MIPS汇编程序)
基本上,0x80820000应包含国际交易日志的当前位置。ITL从0x80800000开始,在整个代码中它将添加4或5,因此0x80820000稍后将更新为0x80800004、0x80800008等(我正在用asm编写脚本解释器)
所以,现在我的问题是:我现在如何加载T5中包含的地址的内容(例如,我将如何加载T5中包含的0x80800004的内容)?我不能在base的加载指令中使用寄存器。您使用的是什么MIPS汇编程序?在MIPS汇编程序中,我从未见过“@Reader”作为操作数。要在
$t5
dolw$s0,0($t5)
@markgz中的地址处加载值,请执行以下操作:谢谢,markgz。我编写了自己的MIPS汇编程序,它可以做到这一点。:)它叫“CajeASM”,如果你愿意,你可以查看它。它是专门为那些正在修改任天堂64 ROM的人设计的。基本上,@Reader告诉我的汇编程序用我分配给[Reader]:ValueHere的值替换define。它还会自动识别值的上半部分和下半部分。