文章目录
- BFXIL
- 使用例子
BFXIL
有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
。