【发布时间】:2012-05-26 11:51:34
【问题描述】:
我们从地址 8002000 到 80020028 运行代码,问题是当我们最后时寄存器 $18 里面是什么。我认为可能有 0x0E 但我真的不确定我是如何得到这个答案的。谁能解释一下?
如果我们从 80020000 开始并按照书面说明进行操作,是否会发生异常?如果是,什么时候会发生?
8001FFF8 NOP
8001FFFC NOP
80020000 LUI $16, 0x8002
80020004 ADDIU $16, $16, 0x30
80020008 ADDI $17, $00, 0x3
8002000c SLL $17, $17, 0x2
80020010 LW $18, 0x4 ($16)
80020014 LW $19, 0x0 ($16)
80020018 SW $18, 0x8 ($16)
8002001C NOP
80020020 ADD $18, $18, $17
80020024 NOP
80020028 NOP
8002002C NOP
80020030 ???
80020034 SRL $00, $00, 0
80020038 SRA $00, $00, 0
8002003C SLLV $00, $00, $00
80020040 NOP
80020044 NOP
【问题讨论】:
-
它应该在寄存器的前 16 位加载立即操作数,所以我猜它应该是 0x80020000