以mips分割十六进制值

时间:2018-10-22 23:05:49

标签: assembly hex mips

我正在一个项目中,我需要获取十六进制值中包含的值并将其拆分。我将有一个包含值0xAA00BBCC的寄存器,需要将其拆分为3个不同的整数,AA,BB和CC

例如:

如果值是:0x88000232,我需要将其拆分为3个整数: 答:88, B:02, 和C:32。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

结合使用SRL和ANDI,但有时不需要其中之一。例如:

srl $t0, $a0, 8
andi $t0, $t0, 0xFF

这将移位值,以使BB从0xAA00BBCC处在底部(0x00AA00BB),然后andi重置不属于该BB部分的位。

当班次计数为24时,不需要andi。当然,移位0位置是没有用的,因此在这种情况下,只需要andi