我们在x86-64处理器中有16个通用寄存器:RAX,RCX,RDX,RBX,RSP,RBP,RSI,RDI,R9-15.x86-64处理器为我们提供了其他类型的寄存器.我的问题是:
Jen*_*ens 10
在任何给定时间,您都不能使用比CPU提供的寄存器更多的寄存器; 但是,您可以一个接一个地重复使用相同的寄存器来处理多个值.这就是寄存器分配和寄存器溢出,其中值使用rSP堆栈指针寄存器在CPU寄存器和程序堆栈之间移动.
我假设你所谓的"未命名的寄存器"就是这样的溢出值.除了问题中列出的寄存器之外,更新的x86-64架构还提供用于存储和某些操作的MMX,SSE,AVX寄存器,从而增加了寄存器的数量.但请注意不要丢弃非易失性寄存器,即检查机器和操作系统的调用约定.