580 Views
December 23, 21
スライド概要
コンピュータ・アーキテクチャ演習
URL: https://www.kkaneko.jp/cc/ca/index.html
金子邦彦(かねこくにひこ) 福山大学・工学部・教授 ホームページ: https://www.kkaneko.jp/index.html 金子邦彦 YouTube チャンネル: https://youtube.com/user/kunihikokaneko
ca-12. スタック (コンピュータ・アーキテクチャ演習) URL: https://www.kkaneko.jp/cc/ca/index.html 金子邦彦 1
スタックのプッシュとポップ • プッシュ (push): スタックの一番上に追加 • ポップ (pop): スタックの一番上から削除 スタックは, 複数のデータを格納できるデータ構造 2
演習 • Visual Studio を起動しなさい • Visual Studio で,Win32 コンソールアプリケー ション用プロジェクトを新規作成しなさい プロジェクトの「名前」は何でもよい 3
• Visual Studioのエディタを使って,ソースファイ ルを編集しなさい 追加 4
• ビルドしなさい.ビルドのあと「1 0 失敗」の表示を確認しなさい 正常終了, → 表示されなければ,プログラムのミスを自分で 確認し,修正して,ビルドをやり直す 5
• Visual Studioで「push 10;」の行に,ブレークポ イントを設定しなさい ① 「push 10;」の行をマ ウスでクリック ② 「デバッグ」→「ブレー クポイントの設定/解除」 ③ ブレークポイントが 設定されるので確認. 赤丸がブレークポイント の印 6
• Visual Studioで,デバッガーを起動しなさい. 「デバッグ」 → 「デバッグ開始」 • 「push 10;」の行で,実行が中断することを確認 しなさい • あとで使うので,中断したままにしておくこと 「push 10;」の行で実行が 中断している 7
• 「push 10;」の行で,実行が中断した状態で,メ モリの中身を表示させなさい.手順は次の通り. ② 「メモリ1」の画面が 表示される ①「デバッグ」 → 「ウインドウ」 → 「メモリ」 → 「メモリ1(1)」 8
• 「メモリ1」の画面の「アドレス」に「esp - 12」 と入れて Enter キーを押しなさい Enter キーを押すと 画面が変化するので確認する 9
• ステップオーバーの操作を1回行い,変化を見なさ い push 10 (16 進数で 0A) 「デバッグ」 → 「ステップオーバー」 (あるいは F10 キー) 10
• ステップオーバーの操作を,さらに2回行い,変 化を見なさい push 5 (16 進数で 5) push 20 (16 進数で 14) 11
• 最後に,プログラム実行の再開の操作を行いなさ い.これで,デバッガーが終了する. 「デバッグ」 → 「続行」 12
• 次のように書き替えて,同じ手順を繰り返しなさ い. 13
古いデータが消えずに残っている 1 2 1 push 1 push 2 2 1 pop 3 1 push 3 3 1 pop 3 1 pop 14