MIPS;获取十六进制值的LSB

时间:2013-03-16 22:16:28

标签: hex mips

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

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

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

我理解按位AND操作适用于十进制值。有人可以就如何获得LSB提供一些帮助吗?

亲切的问候

2 个答案:

答案 0 :(得分:2)

您可以轻松地和要从中提取LSB本身的数字:

0xA4 AND 0x0F

与(二进制)

相同

10100100b AND 00001111

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

答案 1 :(得分:1)

所有二进制操作都在通用寄存器上工作,而w / mask只是纯数字(无论它们的基础基础是什么) 即使x86不是MIPS,你应该有这样的东西

and EAX, 0xF