0

我知道有几个问题已经解决了这个问题。但是,我的问题在某种程度上有所不同。假设我必须获取存储在寄存器中的值(十六进制)的 LSB;例如;

如果寄存器 $t0 包含值 0xA4,我需要获取并存储值 4

如果寄存器 $t0 包含值 0xBF,我需要获取并存储值 F

我知道按位AND运算适用于十进制值。有人可以就我如何获得 LSB 提供一些帮助吗?

亲切的问候

4

2 回答 2

2

您可以轻松地 AND 想要从中提取 LSB 本身的数字,如下所示:

0xA4 和 0x0F

与(二进制)相同

10100100b 和 00001111

这基本上意味着只会从二进制数中提取最后四位数字,这就是您想要的 LSB。

于 2013-03-16T22:23:51.367 回答
1

所有二进制操作都适用于带有掩码的通用寄存器,这些掩码只是纯数字(不管它们的基础基础代表如何)
即使 x86 不是 MIPS,你也应该有这样的东西

and EAX, 0xF
于 2013-03-16T22:20:12.057 回答