2010-03-15から1日間の記事一覧

インラインアセンブラで sprintf を呼び出す

ここで使っているのは sprintf ではなく、sprintf_s ですけど。 sprintf_s(char*, size_t, const char*, ...) をインラインアセンブラで直接呼び出そうという話。 lea 命令を使えば文字列バッファのアドレスはいくらでも読み出せるのでらくちん。 void main(…

インラインアセンブラで printf を呼び出す(その2)

ローカル変数のアドレスを動的に解決して printf を呼び出す方法。 lea (Load Effective Address) 命令で実効アドレスを読み込めば良いらしい。掛け算の最適化命令だと思ってたけど、基本的な使い方はこっちなのかな。 void main() { char hello[] = "Hello\…