Qu'est-ce que cela signifie d'avoir ces 3 instructions comme source d'une instruction movl?Que signifie "movl (% esi,% ecx, 4), eax"?
(%esi, %ecx, 4)
Qu'est-ce que cela signifie d'avoir ces 3 instructions comme source d'une instruction movl?Que signifie "movl (% esi,% ecx, 4), eax"?
(%esi, %ecx, 4)
Cela signifie:
Calculer Adresse = (ESI + ECX * 4). Lit la valeur dans EAX à partir de la valeur 32 bits à cette adresse de mémoire.
De l'article lié:
instructions de gaz ont généralement la forme:
mnemonic source, destination
.
Voir: http://en.wikibooks.org/wiki/X86_Assembly/GAS_Syntax
Personnellement, je préfère la syntaxe MASM plus lisible
mov EAX, dword ptr [ESI + ECX * 4]
^ ^
| +-- source in a readable syntax
+-------- destination
qui a la forme: mnemonic destination, source
(exactement l'inverse).
Commentaire
Oh, et ce que vous appelez des instructions, sont vraiment parameters
.
L'instruction est l'intégralité de l'instruction.
C'est la syntaxe AT & T, donc c'est en fait l'inverse. –
Merci pour la clarification. La principale différence entre Intel et AT & T est-elle l'ordre de la source et de la destination dans l'instruction? – tippenein
@tippenein principalement, oui. Mais il y a d'autres différences esp. lié à la question que vous avez postée. Voir ce lien pour plus d'informations: http://www.imada.sdu.dk/Courses/DM18/Litteratur/IntelnATT.htm –