サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GPT-4o
yz2cm.hatenadiary.org
今回は、関数呼出しにおけるスタックの実装について、逆アセンブルを執拗に解析していきます。 スタックという概念については、「積み上げられた本を取り出す時、一番上にある本から優先して取り出しが行われる」というたとえ話で説明されることが多いですが、LIFOの概念自体は、基本情報の試験でサービス問題になっているぐらい、バカみたいに簡単です。 で、スタックの何が難しいかというと、「関数呼出におけるスタックの実装」を追いかける時です。 ポイントとしては、 ・スタックは、アドレスの上位から下位に向かって伸びていく(「水深〜メートル」をイメージすると、覚えやすいかも)。 ・PUSH/POP命令を行うと、スタックポインタの値が、-1/+1される。 ・呼び出された関数内で、真っ先にやることは、ベースポインタの退避とスタックフレームの設定である。 ・呼出元関数に戻る時には、退避していたベースポインタの復元(スタ
このページを最初にブックマークしてみませんか?
『yz2cm.hatenadiary.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く