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