在MIPS

时间:2016-05-03 03:40:46

标签: mips qtspim

目前我有

lh $t1, 0($t1)

用于将$ t1从16位扩展到32位的符号,但这不起作用。有没有一种简单的方法可以在MIPS中签署扩展寄存器?

3 个答案:

答案 0 :(得分:4)

我理解您的问题的方式,即使您曾尝试使用lh,您实际上想要签署 $t1的半字值,而不是半字{ {1}}指向。

您可以通过两个班次完成此任务:

$t1

如果从0x8000开始,第一次移位后会得到0x80000000,第二次移位后会得到0xffff8000。
如果你从0x7fff开始,你将在第一次移位后获得0x7fff0000,在第二次移位后获得0x7fff。

答案 1 :(得分:0)

你需要addiu。在这里拿一个lool。

Fond addiu

答案 2 :(得分:0)

lh 工作,但您需要确保.half不是 {{ 1}}因为宽度和小端的考虑因素:

.word