我正在尝试从汇编中的整数中提取LSB。我知道你可以左右移位,但是我还没有找到你如何得到一些整数的LSB。假设%rdi存储13
00...00001101 ^
如何提取最后一个1?
rekjcdws1#
您可以使用按位AND操作从整数中提取一些位。例如,要检索%rdi到%rax的LSB,可以执行以下操作:
%rdi
%rax
mov %rdi, %rax and $1, %rax
gopyfrb32#
执行按位and操作,立即数为1。
and
and $1, %rdi
这将%rdi设置为它的最后一位。
2条答案
按热度按时间rekjcdws1#
您可以使用按位AND操作从整数中提取一些位。
例如,要检索
%rdi
到%rax
的LSB,可以执行以下操作:gopyfrb32#
执行按位
and
操作,立即数为1。这将
%rdi
设置为它的最后一位。