我知道有一些问题已经解决了这个问题。但是,我的问题在某种程度上有所不同。假设我必须得到存储在寄存器中的值(十六进制)的LSB;例如;
如果寄存器$ t0包含值0xA4,我需要获取并存储值4
如果寄存器$ t0包含值0xBF,我需要获取并存储值F
我理解按位AND
操作适用于十进制值。有人可以就如何获得LSB提供一些帮助吗?
亲切的问候
答案 0 :(得分:2)
您可以轻松地和要从中提取LSB本身的数字:
0xA4 AND 0x0F
与(二进制)
相同10100100b AND 00001111
这基本上意味着只从二进制数中提取最后四位数,这就是你想要的LSB。
答案 1 :(得分:1)
所有二进制操作都在通用寄存器上工作,而w / mask只是纯数字(无论它们的基础基础是什么) 即使x86不是MIPS,你应该有这样的东西
and EAX, 0xF