回答
它们不是通用寄存器。而是, “程序状态和控制寄存器” 作为Intel's Documentation,卷A:
我甚至会说“ESP”不是“通用寄存器”,因为它必须**指向堆栈。 –
@MartinRosenau,不,它不会,RSP可以指向任何东西。应用程序可以选择放弃使用堆栈。如果是这样,您可以将RSP用于任何您喜欢的目的。 – Johan
@Johan“通用”一词意味着某物可用于任何目的。事实上,当CPL = 3时,ESP寄存器可能有任何值 - 但只有当您不使用“call”或“push”指令时!但是,当CPL = 0时,ESP必须指向堆栈:如果发生任何中断,ESP寄存器中的无效值(例如指向非映射地址)肯定会导致CPU因“三重故障”而复位! (例如NMI。)这就是为什么我说ESP不是一个“通用目的”寄存器。 –
- 1. x86_64上的gdb eflags寄存器
- 2. 这是$ 0x1a寄存器吗?
- 3. 通用寄存器
- 4. IA32-86使用专用寄存器作为通用寄存器
- 5. 通用寄存器 - 订购
- 6. 使用FPU和MMX寄存器作为“通用寄存器”
- 7. GDB寄存器与处理器寄存器不同吗?
- 8. 反正有用C访问ARM的通用寄存器吗?
- 9. 使用xmm寄存器保存通用目录是否安全?
- 10. EFLAGS寄存器中的进位标志和溢出标志的用途是什么?
- 11. 使用CL寄存器移位会导致寄存器部分失速吗?
- 12. AutoFac寄存器通用类型明确
- 13. MIPS中的浮点寄存器是哪些数字寄存器?
- 14. XOR寄存器,寄存器(汇编)
- 15. 解释GDB寄存器(SSE寄存器)
- 16. X86操作码将xmm寄存器移动到通用寄存器
- 17. 什么是通用寄存器的一些特殊用途
- 18. 什么是专用寄存器?
- 19. 通用寄存器的内容是什么?
- 20. i.MX6平台上是否有通用引导寄存器(GPBR)?
- 21. 可以将普通数组放入cpu寄存器吗?
- 22. 寄存器JS
- 23. 与寄存器
- 24. 的寄存器
- 25. 寄存器
- 26. 编译器通常使用寄存器来实现其“预期”目的吗?
- 27. 为什么建立普通布尔MRSW寄存器需要2个寄存器?
- 28. 推送寄存器纯粹用于短期保存可以吗?
- 29. 寄存器通过strophe.register.js不工作
- 30. 通过LLVM IR控制x86寄存器?
这不是一个通用的注册表。它实际上是一个状态寄存器。 –
https://en.wikipedia.org/wiki/FLAGS_register –