【问题标题】:Why does Evan's Debugger say that I'm moving to eax instead of rax?为什么 Evan 的调试器说我要迁移到 eax 而不是 rax?
【发布时间】:2014-06-08 15:48:08
【问题描述】:

我正在将一些值移动到 rax,但调试器显示它正在移动到 eax。它有什么问题?是调试器、nasm 还是我的知识?无论如何,当然代码运行良好。我使用的调试器是 Evan 的调试器。

【问题讨论】:

  • EAX 是 RAX 的低 32 位
  • 请提供具有实际/预期值的最小示例。

标签: debugging assembly x86 cpu-registers


【解决方案1】:

简而言之,你和调试器都是正确的。

当您将某些内容移动到 RAX 时,这会影响 RAX、EAX、AX、AL 和 AH,因为它们指的是相同 64 位的各种子集:

  • AL 是 AX 的低 8 位(AH 是高 8 位)。
  • AX 是 EAX 的低 16 位。
  • EAX 是 RAX 的低 32 位。

【讨论】:

  • 我想我明白了。谢谢!
猜你喜欢
  • 2017-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-13
  • 1970-01-01
相关资源
最近更新 更多