【发布时间】:2016-12-13 10:06:46
【问题描述】:
EDI 和 ESI 的角色可以互换吗?
例如,EDI 是否可以包含指向数组的指针,而我们只打印出数组中的每个值/字符?
【问题讨论】:
-
通常在寄存器中切换值比修改其余代码更容易。如果您碰巧遇到需要
esi/edi的情况,那么xchg esi,edi将解决这个问题。这不是一个快速指令,所以通常你可以通过提前计划代码的寄存器使用来避免这种情况,并编写剩余的代码以在没有额外的xchg/mov指令的情况下工作,将中间结果直接保存在寄存器中,这些寄存器将被下一个代码拾取......如果可能...如果不是,请使用xchg或额外的mov。
标签: assembly x86 cpu-registers