図3.1: C手続きの典型的なスタック配置. パラメタはcallerのフレームの中にある. 局所変数,テンポラリ変数,callee-save register, callerへのリンク(すなわちリターンアドレスとcallerのFP)は 現在の手続きのフレームの中にある.
図3.1はC手続きの典型的なスタックフレームの配置を示している. その図はスタックが下に伸びるという仮定のもとに, 手続き f のスタックフレームと, その親 P を図解している. スタックの最も低いアドレスと, 最も高いアドレスは それぞれスタックポインタ(SP)とフレームポインタ(FP)に よって指されている. スタックフレーム f は以下のものを保持する.
レジスタにアロケートされていない入力パラメタはcallerの フレームに格納されるので, callerは呼ばれる手続きの フレームの配置について知る必要はない. 入力パラメタのcalleeのフレームポインタからのオフセットは すべての手続きを通じて定数である. よってcalleeはcallerを 知る必要がない.
手続きがリターンするときSPとFPを回復するのはcalleeの責任である.