assembly 在ARM64中“add Xn,Xn,SP”是否有效?

ttvkxqim  于 2023-04-21  发布在  其他
关注(0)|答案(1)|浏览(117)

我在组装add x1, x1, sp时遇到了问题。从我所读到的来看,在aarch 64中应该是可能的?
以下代码正确装配add x1, sp, x1
谢谢!

qq24tv8q

qq24tv8q1#

实际上,add x1, x1, sp不是可编码的AArch64指令。add指令的允许标量变体是:

ADD <Wd|WSP>, <Wn|WSP>, <Wm>{, <extend> {#<amount>}}
ADD <Xd|SP>, <Xn|SP>, <R><m>{, <extend> {#<amount>}}
ADD <Wd|WSP>, <Wn|WSP>, #<imm>{, <shift>}
ADD <Xd|SP>, <Xn|SP>, #<imm>{, <shift>}
ADD <Wd>, <Wn>, <Wm>{, <shift> #<amount>}
ADD <Xd>, <Xn>, <Xm>{, <shift> #<amount>}

观察这些变量SP都不允许作为第三个操作数。

相关问题