我想将一个立即数(0x48f0d0)加载到寄存器x0,但出现错误“汇编程序消息:
/tmp/ccUzTnfa.s:257: Error: immediate cannot be moved by a single instruction"
这是我使用的指令:
mov x0, #0x48f0d0
0ejtzxu11#
在ARM 64上,只有certain constants可以表示为立即数操作数。要解决此限制,请从文本池加载
ldr x0, =0x48f0d0
或者使用movz/movk对:
movz
movk
movz x0, #0xf0d0 movk x0, #0x48, lsl #16
1条答案
按热度按时间0ejtzxu11#
在ARM 64上,只有certain constants可以表示为立即数操作数。要解决此限制,请从文本池加载
或者使用
movz
/movk
对: