【发布时间】:2021-03-25 16:09:33
【问题描述】:
作为一名 CS 初学者,我知道 CPU 有一些称为寄存器的硬件,用于存储临时变量。但我也看到 x86 汇编代码具有像 %EAX、%ECX 这样的“寄存器”概念。想知道这里有什么区别,或者它们是相同的东西还是它们有任何关系?
【问题讨论】:
-
是一样的。 %eax 等是 CPU 寄存器的 x86 化身。
-
这些是一回事。在高性能处理器上,处理器可能不仅仅是这些寄存器,但它们只是实现细节,程序员不可见。对程序员来说,
eax和朋友就是机器的寄存器。 -
实际上,用汇编语言编程的全部目的是直接访问 CPU 寄存器和相关的硬件功能。
标签: assembly cpu-architecture cpu-registers