2012-10-19 9 views
8

次の文との違いは何ですか?mov%eax、(%esp)

mov %eax,%esp 
mov %eax,(%esp) 

私はバイナリ爆弾を拡散し、アセンブリの早い段階でmovlealコマンドの数とのトラブルを抱えていますに取り組んでいます。

+1

レジスタをコピーします。それが指すメモリからの他のロード。 – Mysticial

+4

@Mysticial:これはAT&Tの構文なのですべてが後方にあります - %espと(%esp)は送信先であり、送信元ではありません。 –

+0

@JerryCoffin AHHHH !!!私はいつもその罠のために落ちる... – Mysticial

答えて

10

%eaxの値を%espにコピーします。

mov %eax,%esp 

これは、%eaxの値を%espが指すメモリ内の場所にコピーします。

mov %eax,(%esp) 
+0

大変ありがとう! – arc

+0

後者は本質的にespの減少なしでpop eaxです – Goaler444

関連する問題