ARM base instruction -- movk
Move wide with keep moves an optionally-shifted 16-bit immediate value into a register, keeping other bits unchanged.
用keep进行宽移将一个可选择移位的16位立即值移动到寄存器中,保持其他位不变。
32-bit variant
MOVK <Wd>, #<imm>{, LSL #<shift>}
64-bit variant
MOVK <Xd>, #<imm>{, LSL #<shift>}
Operation
bits(datasize) result;
result = X[d];
result<pos+15:pos> = imm16;
X[d] = result;
4007f8: d28000c0 mov x0, #0x6 // #6 x0=6
4007fc: f2a00200 movk x0, #0x10, lsl #16 // x0 = 0x10<<16 ==> x0 = 0x100006
400800: f90013a0 str x0, [x29, #32]
unsigned long d = 0x100006;
原文地址:https://blog.csdn.net/xiaozhiwise/article/details/142665745
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!