Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我知道有几个问题已经解决了这个问题。但是,我的问题在某种程度上有所不同。假设我必须获取存储在寄存器中的值(十六进制)的 LSB;例如;
如果寄存器 $t0 包含值 0xA4,我需要获取并存储值 4
如果寄存器 $t0 包含值 0xBF,我需要获取并存储值 F
我知道按位AND运算适用于十进制值。有人可以就我如何获得 LSB 提供一些帮助吗?
AND
亲切的问候
您可以轻松地 AND 想要从中提取 LSB 本身的数字,如下所示:
0xA4 和 0x0F
与(二进制)相同
10100100b 和 00001111
这基本上意味着只会从二进制数中提取最后四位数字,这就是您想要的 LSB。
所有二进制操作都适用于带有掩码的通用寄存器,这些掩码只是纯数字(不管它们的基础基础代表如何) 即使 x86 不是 MIPS,你也应该有这样的东西
and EAX, 0xF