- 260 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 23:48:21 ]
- 何か関数を作って、法則見つけようぜ、ってことじゃね。
とりあえず、 ・ 最初と最後にはスタックフレームの確保を行うと楽。 ebp とか esp とかいじってる部分がそれ。 ・ 退避すべきレジスタがいくつかある。最初と最後で push/pop してるやつがそれ。 ・ 引数を渡すときは、基本的には引数をスタックに push する。 後ろの引数から push するか前のから push するかはコンパイラ次第。確認しる。 可変長引数かどうかで変わる事もあるので注意する。 ・ 関数を呼んだ後に引数の分だけスタックポインタを戻すには、 呼び出し側から esp に引数のサイズだけ add するか、 関数から戻る時に ret の引数を使うかする。 どっちなのかはコンパイラ次第。確認しる。 可変長引数かどうかで変わる事もあるので注意する。 標準関数を call した後に add する必要があるかどうかも確認しる。
|

|