【发布时间】:2023-04-01 19:37:01
【问题描述】:
在 Intel 64 架构中有 rax..rdx 寄存器,它们只是 A..D 通用寄存器。
但也有称为 rsi 和 rdi 的寄存器,它们是“源索引”和“目标索引”寄存器。为什么这些寄存器有实际名称(与 A 等相比)?
“源索引”和“目标索引”究竟是什么意思?是否有一些约定说这些寄存器应该在特定情况下使用?
【问题讨论】:
-
另请注意,A..D 也有反映其典型用途的名称(累加器、基数、计数器、数据)。
-
@Jester,啊,谢谢,我们从来没有被告知过,所以我只是假设它是 A、B、C 和 D
-
D不代表“除数”吗?
-
这不是一种富有成效的思考方式,这些名字只是一个可以追溯到 38 年的历史性事故。不得不设计一个只有 29,000 个晶体管的处理器。你会忽略一个 64 位处理器有 24 个额外的寄存器,名字很无聊。