что означает "movl (% esi,% ecx, 4), eax"? - PullRequest
3 голосов
/ 28 сентября 2011

Что значит иметь эти 3 инструкции в качестве источника инструкции movl?

(%esi, %ecx, 4)

1 Ответ

5 голосов
/ 28 сентября 2011

Это значит:

Рассчитать адрес = (ESI + ECX * 4). Считайте значение в EAX из 32-разрядного значения по этому адресу памяти.

Из связанной статьи:

Инструкции 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.
Инструкция это целое утверждение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...