標準サブルーチンプロローグ/エピローグとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 標準サブルーチンプロローグ/エピローグの意味・解説 

標準サブルーチンプロローグ/エピローグ

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/12/25 15:34 UTC 版)

呼出規約」の記事における「標準サブルーチンプロローグ/エピローグ」の解説

サブルーチン制御渡った点で、標準的には次のような処理を行う: _function: push ebp ;ベースポインタ保存 mov ebp, esp ;現在のスタックフレームを指すようベースポインタ変更 sub esp, x ;局所変数(Cでいう自動変数)の大きさの分スタックポインタを減らす この結果EBPスタック上の引数の頭を指し局所変数格納する領域スタック上に確保することができる。元のEBPの値はスタック保存されている。このように局所変数引数同様にサブルーチン呼び出し毎にスタック上に確保されるので、再帰呼び出し可能になる。 このサブルーチンから抜け出す際は、次のシーケンス実行する: mov esp, ebp ;局所変数除去 pop ebp ;ベースポインタ復帰 ret ;サブルーチンから戻る これはcdeclの例であってPascal 呼出規約では次のように引数データサブルーチン側が掃除するret n ;nは引数データバイト数 次のC関数int _cdecl MyFunction(int i) { int k; return i + k;} 次のアセンブラコードと同等である。 ;エントリシーケンス push ebp mov ebp, esp sub esp, 4 ;整数型変数kの領域に相当 ;関数コード mov eax, [ebp + 8] ;引数iを加算器アキュムレータ)に移動 add eax, [ebp - 4] ;kをiに加える ;結果EAX加算器)に残る ;終了シーケンス mov esp, ebp pop ebp ret

※この「標準サブルーチンプロローグ/エピローグ」の解説は、「呼出規約」の解説の一部です。
「標準サブルーチンプロローグ/エピローグ」を含む「呼出規約」の記事については、「呼出規約」の概要を参照ください。

ウィキペディア小見出し辞書の「標準サブルーチンプロローグ/エピローグ」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「標準サブルーチンプロローグ/エピローグ」の関連用語

1
14% |||||

標準サブルーチンプロローグ/エピローグのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



標準サブルーチンプロローグ/エピローグのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの呼出規約 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS