“movl(%esi,%ecx,4),eax”意味着什么?

时间:2011-09-28 03:48:26

标签: assembly x86

将这3条指令作为movl指令的来源是什么意思?

(%esi, %ecx, 4)

1 个答案:

答案 0 :(得分:5)

这意味着:

计算地址=(ESI + ECX * 4)。 从该存储器地址的32位值读取EAX中的值。

来自链接文章:

  

GAS说明通常采用以下格式:mnemonic source, destination

请参阅:http://en.wikibooks.org/wiki/X86_Assembly/GAS_Syntax

我个人更喜欢更易读的MASM语法

mov EAX, dword ptr [ESI + ECX * 4]
     ^     ^
     |     +-- source in a readable syntax
     +-------- destination

其形式为:mnemonic destination, source(完全相反)。

<强>注释
哦,你所谓的指示,真的是parameters 指令是整个陈述。