ARM64 常见汇编指令学习 10 -- 无符号位域提取指令 BFXIL

文章目录

    • BFXIL
      • 使用例子

BFXIL

ARM64 常见汇编指令学习 10 -- 无符号位域提取指令 BFXIL_第1张图片

有2种语法:

BFXIL Wd, Wn, #lsb, #width ; 32-bit
BFXIL Xd, Xn, #lsb, #width ; 64-bit

从Wn 寄存器的第 lsb 位开始,提取 width 位,替换 Wd 寄存器的最低 width位,剩余高位不改变。

使用例子

假设我们有一个 64 位的寄存器 X0,它的值为 0x123456789ABCDEF0,我们想抽取第16位到第31位(假设最低位为第0位)并插入到寄存器 X1 的第 0位到第15位,可以使用 BFXIL指令:

mov x0, 0x123456789ABCDEF0 
mov x1, 0 
bfxil x1, x0, #16, #16

执行完上述指令后,X1的值为 0x000000000000789A

你可能感兴趣的:(#,ARM,常见汇编指令学习,arm64,BFXIL,BFM)