【发布时间】:2013-04-03 18:21:22
【问题描述】:
我需要在 x86 程序集中将CH 的内容添加到EAX,但似乎没有地址模式支持这一点。理想情况下,我想要一种寻址模式,例如:
ADD EAX,r8
或
ADD r32,r8
或
ADD r/m32,r8
但是ADD 没有这些模式。我无法屏蔽ECX,因为其中包含我在其他地方使用的其他垃圾,并且我已经用完了所有其他寄存器,所以我唯一的选择似乎是使用内存访问。有什么想法可以解决这个问题吗?
注意我不能使用像r/m8,r8 这样的模式,因为那样就没有进位了。
【问题讨论】:
-
是时候使用 x64 并获得那些额外的寄存器了。 :)
-
Omitting frame pointer 帮助您释放更多寄存器,使函数调用更快,并生成更小的代码,以换取更困难的调试。但无论如何,使用 64 位更好
标签: assembly x86 cpu-registers