assembly - 如何在汇编中保存esi或edi

标签 assembly x86

我正在执行几个已经需要使用源索引的过程。如果我需要使用已用于其他项目的源索引,我该怎么做?有没有办法将 edi 保存为数据,然后在需要时检索它?

谢谢。

最佳答案

执行此操作的常见方法是使用 CPU 堆栈:

push esi
; ... do whatever needs esi
pop  esi

如果在 pushpop 之间有任何东西跳到别处,您将必须确保正确清理堆栈。

关于assembly - 如何在汇编中保存esi或edi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7700314/

相关文章:

gcc - GNU 程序集内联 : what do %1 and %0 mean?

assembly - 如何将 ST(0) 移动到 EAX?

assembly - 从内存中注册的 MOV 不适用于 nasm 中的 BITS 32

x86 - 调用门、中断门、陷阱门的区别?

c++ - 如何使用 SIMD 指令使预乘 alpha 函数更快?

windows - 这段汇编代码在做什么 - 写入进程内存

assembly - 在 GNU 汇编器宏中引用操作数/参数

c++ - 编辑 C++/汇编调试器的源代码以包含额外的汇编信息?

delphi - Delphi中的快速Swap64函数

caching - MESI 协议(protocol)中的 L3$ 角色部分是什么