Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 如何从寄存器中存储的地址加载值?_Assembly_Mips - Fatal编程技术网

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
do
lw$s0,0($t5)
@markgz中的地址处加载值,请执行以下操作:谢谢,markgz。我编写了自己的MIPS汇编程序,它可以做到这一点。:)它叫“CajeASM”,如果你愿意,你可以查看它。它是专门为那些正在修改任天堂64 ROM的人设计的。基本上,@Reader告诉我的汇编程序用我分配给[Reader]:ValueHere的值替换define。它还会自动识别值的上半部分和下半部分。