程序集 - 修改堆栈内容



如何修改汇编中的堆栈内存块?

我想到了一个办法,那就是:

POP EAX
ADD EAX, 5
PUSH EAX

有没有更短、更有效的方法?

您可以使用内存操作数直接对堆栈上的值进行寻址,如

add dword [esp], 5

add qword [rsp], 5

如果以 64 位为目标;则在 16 位模式下,基于 sp 的寻址不可用。

最新更新