假定XZR可以在ARMv8 ISA的任何寄存器字段中使用,但是当我尝试在索引寻址中用于加载/存储指令时,总是会出错:
ex2.s:3: Error: integer 64-bit register expected at operand 2 -- `ldr X1,[XZR,#0]'
ex2.s:4: Error: integer 64-bit register expected at operand 2 -- `ldur X2,[XZR,#1]'
ex2.s:8: Error: integer 64-bit register expected at operand 2 -- `stur X1,[XZR,#2]'
ex2.s:9: Error: integer 64-bit register expected at operand 2 -- `stur X3,[XZR,#0]'
ex2.s:14: Error: integer 64-bit register expected at operand 2 -- `stur X4,[XZR,#2]'
绕过它很容易,例如使用前一个: MOV X0,XZR 然后使用X0,但我想知道原因。 预先感谢。