X86寻址模式误解

时间:2017-10-20 17:41:19

标签: assembly x86

有很多教科书和资源可以解释cpu的寻址模式并将X86寻址模式分类为

Immediate 
Register
Memory   -->   direct
         -->   register indirect
         -->   base
         -->   Index
         -->   Base-Index

基本上,寻址模式试图回答这个问题:w 这里是执行指令的数据吗?例如,mov ax, 04 immediate 因为值04是cpu提取的指令代码的一部分。因此,执行指令不需要模式存储器访问。

另一个例子是,mov ax, [FFH]被称为 direct 内存模式,因为指令代码中没有数据(操作数)。因此,cpu必须再次访问内存才能获取数据。

现在,我在使用visual studio编译的X86代码的反汇编代码中看到很多实例,看起来像

 mov     dword ptr [ebp-8],0

很容易理解它试图将0放在位于[ebp-8]的内存的四个字节(dword)中。该指令代码为c745f800000000。问题是该指令(和其他实例)的寻址模式是什么?

这是一个数据移动指令,因此寻址模式的概念应该是有效的。不是吗?

0 个答案:

没有答案