如何转换为间接寻址?

时间:2019-05-11 21:50:52

标签: assembly x86 inline-assembly att addressing-mode

关于将x86程序集从基于模式转换为间接寻址模式的简短问题吗?

我完全是汇编程序设计的初学者...

基于模式:

pushl   -8(%ecx)

间接寻址模式:

所以原则上我想我必须在任何地方减去8,然后再做任何事情。但是我实际上不知道要先推/减什么,先推什么(推子或subl)以及为什么。

subl $8, %esp
pushl %ecx

我尝试了一下,现在工作正常,但是我不知道为什么。

为什么我必须从堆栈指针中减去而不是从ecx中减去? 我以为每个pushl的堆栈指针都会自动设置为新的推送地址?

谁能简要概述这种情况/堆栈指针的用法?在这里要考虑什么重要?有人为初学者准备了整齐的床单吗?

0 个答案:

没有答案