「第四話:CALL命令で起こること」で端折ったスタックの話です。
「スタック」という単語を(例えば情報処理技術者試験などの勉強をして)知っている人の知識としては、
1. 一時的に値を退避しておく場所である
2. Last In Fast Out(LIFO:最後に入れたものを最初に取り出す)である
この2つが挙げられると思います。
1.は読んで字のごとくだからいいとして、2.については実際に見てみた方が早いでしょう。
ここで、新しい実行ファイルの登場です。ここからダウ
(このノートは最後まで無料で読めます。投げ銭方式です)
さて、なにはともあれOllyDbgを動かしてみましょう。
こちらのzipファイルをダウンロードし、展開して出てくるexeファイルをOllyDbgで開いてみてください。
ソースコードは以下のとおりです。
#include
int sub(int i, int j)
{
int x = 0;
x = i + j;
return x;
}
main()
{
int a =