assembly - 汇编寄存器与 CPU 寄存器
问题描述
作为一名 CS 初学者,我知道 CPU 有一些称为寄存器的硬件,用于存储临时变量。但我也看到 x86 汇编代码具有像 %EAX、%ECX 这样的“寄存器”概念。想知道这里有什么区别,或者他们是同一件事还是他们有任何关系?
解决方案
它们曾经是同一个东西,在更原始的 CPU 架构中它们仍然是同一个东西。
x86 现在确实进行了寄存器重命名,并且 CPU 实际上拥有比看起来更多的寄存器。另一方面,您可能会编写代码,就好像那不是真的一样。如果您可以通过执行速度以外的任何方式来区分差异,那么 CPU 就是错误的。
推荐阅读
- java - 为什么 MockMvc 请求在测试成功时检索空的 responseBody?
- c# - X 分钟后的 C# File Watcher 事件
- azure - 仅上传最后一个文件 (Azure Blob)
- pandas - 在数据帧上使用 VLookup 函数
- asp.net - ASP.NET 基于角色的授权无法找到服务器/数据库
- python - 在 while 循环中保存 txt 文件会在每个步骤中保存当前和上一个迭代
- c# - 如何将文本框中的字符串添加到另一个窗口中的列表视图
- gnuplot - 强制gnuplot显示零轴,同时让它自动缩放
- python - 如何使用 Element.findall() 搜索标签并打印其值
- windows - 如何修复批处理脚本中的“缺少操作数”