本文介绍了为什么Evan的调试器说我要使用eax而不是rax?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在将一些值移到rax,但是调试器显示它正在移到eax.怎么了是用调试器,nasm还是我的知识?无论如何,当然,代码运行良好.我正在使用的调试器是Evan的调试器.
I'm moving some values to rax but debugger is displaying that it's moving to eax. What's the matter with it? Is it with the debugger, nasm or with my knowledge? Anyway of course code is working perfectly. The debugger I'm using is Evan's Debugger.
推荐答案
简而言之,您和调试器都是正确的.
In a nutshell, both you and the debugger are correct.
将某些内容移到RAX
时,这会影响RAX
,EAX
,AX
,AL
和AH
,因为它们指的是相同64位的各个子集:
When you move something to RAX
, this affects RAX
, EAX
, AX
, AL
and AH
as they refer to various subsets of the same 64 bits:
-
AL
是AX
的低8位(AH
是高8位). -
AX
是EAX
的低16位. -
EAX
是RAX
的低32位.
AL
is the lower 8 bits ofAX
(AH
is the upper 8 bits).AX
is the lower 16 bits ofEAX
.EAX
is the lower 32 bits ofRAX
.
这篇关于为什么Evan的调试器说我要使用eax而不是rax?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!