首页 > 解决方案 > 汇编寄存器与 CPU 寄存器

问题描述

作为一名 CS 初学者,我知道 CPU 有一些称为寄存器的硬件,用于存储临时变量。但我也看到 x86 汇编代码具有像 %EAX、%ECX 这样的“寄存器”概念。想知道这里有什么区别,或者他们是同一件事还是他们有任何关系?

标签: assemblycpu-architecturecpu-registers

解决方案


它们曾经是同一个东西,在更原始的 CPU 架构中它们仍然是同一个东西。

x86 现在确实进行了寄存器重命名,并且 CPU 实际上拥有比看起来更多的寄存器。另一方面,您可能会编写代码,就好像那不是真的一样。如果您可以通过执行速度以外的任何方式来区分差异,那么 CPU 就是错误的。


推荐阅读