Assembly 输入0,0和按ebp之间的差异?
我不熟悉组装,并通过示例获得更好的理解。我遇到了两个程序,一个使用Assembly 输入0,0和按ebp之间的差异?,assembly,x86,Assembly,X86,我不熟悉组装,并通过示例获得更好的理解。我遇到了两个程序,一个使用enter0,0,另一个使用pushebp;mov ebp,esp。我理解pusha将所有通用寄存器推送到堆栈上。我很困惑这两个术语是否可以互换 enter 0,0 pusha 等于 push ebp mov ebp, esp 装配中 单个指令enter 0,0相当于一对指令push ebpmov ebp,esp。enter需要4个字节进行编码,而组合只需要3个字节 由于pusha, 将其从第一个指令中删除,或添加到第二个指令
enter0,0
,另一个使用pushebp;mov ebp,esp
。我理解pusha
将所有通用寄存器推送到堆栈上。我很困惑这两个术语是否可以互换
enter 0,0
pusha
等于
push ebp
mov ebp, esp
装配中 单个指令
enter 0,0
相当于一对指令push ebp
mov ebp,esp
。enter
需要4个字节进行编码,而组合只需要3个字节
由于pusha
,将其从第一个指令中删除,或添加到第二个指令中。单个指令
输入0,0
相当于一对指令推ebp
mov ebp,esp。enter
需要4个字节进行编码,而组合只需要3个字节
由于pusha
,从第一个指令集中删除它,或将其添加到第二个指令中。阅读指令集参考,了解指令集的功能。不,它们不是等效的,第二个代码只与
enter 0,0
匹配。除了ebp
,它不保存寄存器,阅读指令集参考,了解指令的作用。不,它们不是等效的,第二个代码只与enter 0,0
匹配。除了ebp
,它不保存寄存器,