XL Fortran for AIX V8.1.1

ユーザーズ・ガイド


プロローグとエピローグ

プロシージャーへの入り口では、以下のステップの中のいくつか、または全部を行わなければならない場合があります。

  1. |リンク・レジスターを、32 ビット環境の場合には |スタック・ポインターからのオフセット 8 (または 64 ビット環境の場合には |オフセット 16) に必要に応じて保管します。
  2. |CR ビット 8-23 (CR2、CR3、CR4、CR5) のいずれかを |使用する場合、32 ビット環境の場合には現在のスタック・ポインターからの |変位 4 (または、64 ビット環境の場合には変位 8) に CR を保管します。
  3. |このプロシージャーによって使用された |不揮発性 FPR を呼び出し元の FPR 保管域に保管します。 |_savef14_savef15、... _savef31 という |一連のルーチンを使用できます。
  4. |このプロシージャーによって使用された |すべての不揮発性 GPR を呼び出し元の GPR 保管域に保管します。
  5. 逆方向チェーンを保管し、スタック・ポインターをスタック・フレームのサイズ分だけ減らします。スタック・オーバーフローが発生した場合は、逆方向チェーンの保管が行われるとすぐにわかることに注意してください。

プロシージャーからの出口では、以下のステップのいずれか、または全部を実行しなければならない場合があります。

  1. 保管したすべての GPR を復元します。
  2. スタック・ポインターを入り口で持っていた値に復元します。
  3. 必要に応じて、リンク・レジスターを復元します。
  4. 必要に応じて、CR のビット 8-23 に復元します。
  5. |FPR を保管した場合、_restfn を使用して |(n は復元される最初の FPR です) これらを復元します。
  6. 呼び出し元に戻ります。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]