在ARM64汇编代码中,寄存器31 XZR与SP是什么时候?

问题描述 投票:3回答:1

在ARM64汇编代码中,寄存器号31何时表示XZR,什么时候表示SP?

assembly cpu-registers arm64 machine-code instructions
1个回答
1
投票

[一条指令将寄存器31解释为零寄存器wzr / xzr还是堆栈指针wsp / xsp取决于指令类型,并且不容易预测。相同的助记符可能引用多个指令,其中一些指令接受堆栈指针作为操作数,而其他指令则不接受。但是,一般而言,所有有意义的与堆栈指针一起使用的指令都具有一种可以与堆栈指针一起使用的形式。汇编器会自动为您选择合适的表格。永远不会默默地将sp表示为xzr,反之亦然。

在《 ARM参考手册》中,XnWn用于表示寄存器,其中寄存器31表示零寄存器。 Xn|SPWn|WSP用于指代寄存器,其中寄存器31指代堆栈指针。有关详细信息,请参见§5“ A64指令集”的简介。

© www.soinside.com 2019 - 2024. All rights reserved.