プログラムも一緒である.それを構成する機能の集まりで理解した方が簡単である. Windowsの4千万行もあるプログラムの各行を説明されても全く分からない.プログラムを 機能毎に分けたものがサブルーチンと呼ばれるものの本質である.要するにプログラムを 構成する機能単位の部品だと思えばよい.
図2と3にサブルーチンを使ったプログラム とそうでないプログラムのイメージを示す.圧倒的に,サブルーチンを使った図 3の方が見通しがよい.実際に長いプログラムを書く場合,サ ブルーチンを使わないと不可能である.
具体的に,プログラムを機能別のサブルーチンに分けると,以下のようなメリットがあ る.
命令語 CALL 語源 CALL (call:呼ぶ) 役割 サブルーチンへ制御を移す. 書式 [ラベル] CALL adr[,x] 動作 プログラムレジスタPRの値を指定のアドレスに変える.現 在のアドレスはスタック領域に待避させる. フラグレジスタ 変化無し.
CALL KAKEZAN ;アドレスKAKEZANを呼び出し
命令語 RET 語源 RETurn (return:帰る,戻る) 役割 サブルーチンから呼び出し元へ制御が戻る. 書式 [ラベル] RET 動作 スタックポインター(SP)が示すアドレスの値をプログラム レジスター(PR)にセットする.そして,PRの値を,1増加させる. フラグレジスタ 変化無し.
RET ;呼び出し元へ戻る