Debugging 为什么Evan';s调试器说我';我要换成eax而不是rax?
我正在将一些值移动到rax,但调试器显示它正在移动到eax。怎么了?是用调试器、nasm还是用我的知识?无论如何,代码工作得很好。我使用的调试器是Evan的调试器。简而言之,您和调试器都是正确的 当您将某物移动到Debugging 为什么Evan';s调试器说我';我要换成eax而不是rax?,debugging,assembly,x86,cpu-registers,Debugging,Assembly,X86,Cpu Registers,我正在将一些值移动到rax,但调试器显示它正在移动到eax。怎么了?是用调试器、nasm还是用我的知识?无论如何,代码工作得很好。我使用的调试器是Evan的调试器。简而言之,您和调试器都是正确的 当您将某物移动到RAX时,这会影响RAX、EAX、AX、AL和AH,因为它们指的是相同64位的不同子集: AL是AX的下8位(AH是上8位) AX是EAX的低16位 EAX是RAX的低位32位 EAX是RAX的低32位,请提供实际/预期值的最小示例。我想我明白了。谢谢
RAX
时,这会影响RAX
、EAX
、AX
、AL
和AH
,因为它们指的是相同64位的不同子集:
是AL
的下8位(AX
是上8位)AH
是AX
的低16位EAX
是EAX
的低位32位RAX