我想一个C程序翻译成MIPS汇编代码的Mips:变量保存在另一个变量
在我的C代码,我有这样一行:
int base;
int count;
count = base;
在MIPS,怎么会我在计数中存储基数的值?我看到的用于加载和存储的唯一指令是lw
和sw
,它们的原型仅来自寄存器源 - > RAM目标或RAM源 - >注册目标。
任何帮助,将不胜感激。
编辑 我希望这可以在一个单一的指令来完成,像
move base acc
但显然这是不可能的(至少我发现类似的无指令的例子),我选择了这一点:
lw $t0, base //load base into $t0
sw $t0, count //store the value of $t0 in count
如果有一个行指令可以做到这一点会更好,如果有人知道的。
“base”和“counter”的值不在寄存器中,它们存储在RAM中。所以当我这样做时,我只会收到一条错误消息。 – 2012-02-02 04:25:25
哦,如果它们不是寄存器,那就不一样了。更新。 – duskwuff 2012-02-02 04:33:12
它可以很好,它可以优化这条指令,即使它是“lw/sw”等价的一行,我花了1个小时寻找指令。 – 2012-02-02 04:36:52