lea 0x4(%esp),%ecx
at&t アセンブリでの意味は何ですか?
本当は何0x4(%esp)
ですか?
です%esp + 0x4
。
LEA
ロード有効アドレスの略です。この場合、上記のように単純な追加です。CPU には気の利いたアドレス生成ユニット (AGU とも呼ばれます) が搭載されているため、通常、人々やコンパイラはそれを実際には使用しなくなりました。これにより、あらゆる種類の高度な算術演算を使用して、レジスタと値からアドレスを計算できます。つまり、 で何をしたとしてもlea
、それを他の命令の中に埋め込むことができるようになりました。
lea ecx,[esp+4]
esp
スタックポインタです。0x4 はオフセットです。AT&T 構文には がcommand source, destination
あり、ここでのコマンドLEA
は「実効アドレスのロード」です。
したがって、CPU にアドレス「スタック ポインター + 4」をレジスター「ecx」にロードするように指示しています。