为什么堆栈指针(esp / rsp)不能用作索引寄存器,例如[esi + esp*4]
?
1 回答
3
这就是指令集的制作方式。ESP
(即) 的SIB编码100b
已被用来表示1。通常是堆栈指针,因此用作基址寄存器,它确实具有有效的编码。用任何因素对其进行缩放通常没有意义,因此牺牲编码通常不是问题。none
ESP
- 见表2-3。英特尔® 64 位和 IA-32 架构软件开发人员手册第 2 卷:指令集参考中的32 位寻址形式与 SIB 字节,AZ
于 2015-09-12T12:55:08.940 回答