根据英特尔在x64中,以下寄存器称为通用寄存器(RAX,RBX,RCX,RDX,RBP,RSI,RDI,RSP和R8-R15)https://software.intel.com/en-us/articles/介绍到x64组装.
在下面的文章中,写了RBP和RSP是专用寄存器(RBP指向当前堆栈帧的基础,RSP指向当前堆栈帧的顶部). https://www.recurse.com/blog/7-understanding-c-by-learning-assembly
现在我有两个相互矛盾的陈述.英特尔声明应该是值得信赖的,但是什么是正确的,为什么RBP和RSP被称为通用目的?
谢谢你的帮助.
我试图了解寄存器必须被称为"通用寄存器"的标准.
我认为通用寄存器是一个寄存器,可以用于任何事情(用于计算,向/从它移动数据等),并且是一个没有特殊用途的寄存器.
现在我已经读到ESP寄存器是通用寄存器.我想ESP寄存器可以用于任何东西,但ESP寄存器也有一个特殊的用途,即指向堆栈的顶部.
这是否意味着ESP寄存器是一个特殊目的寄存器?