assembly 从程序集中的整数提取LSB x86-64 At&t

kq4fsx7k  于 2023-03-23  发布在  其他
关注(0)|答案(2)|浏览(112)

我正在尝试从汇编中的整数中提取LSB。我知道你可以左右移位,但是我还没有找到你如何得到一些整数的LSB。
假设%rdi存储13

00...00001101
            ^

如何提取最后一个1?

rekjcdws

rekjcdws1#

您可以使用按位AND操作从整数中提取一些位。
例如,要检索%rdi%rax的LSB,可以执行以下操作:

mov %rdi, %rax
and $1, %rax
gopyfrb3

gopyfrb32#

执行按位and操作,立即数为1。

and $1, %rdi

这将%rdi设置为它的最后一位。

相关问题