少し処理が複雑なプログラムを書こうとすると、プログラム全体を複数の機能単位に分ける必要が出てくる。これらの機能単位をサブルーチンと呼ぶ。例えば、成績処理をするプログラムを考えた場合、データの入力部、表計算部、印刷部といったように、プログラムをいくつかのサブルーチンに分割して作成することが考えられる。 サブルーチンの定義と呼び出しは、次のように書ける。
10 GOSUB *ABC 20 GOSUB *XYZ 30 END 40 *XYZ 50 PRINT "ここはサブルーチンXYZです。" 60 RETURN 70 *ABC 80 PRINT "ここはサブルーチンABCです。" 90 RETURN
上にみられるように、サブルーチンには “*” で始まるラベルが付けられ、サブルーチンの最後は RETURN で終わる。そして、サブルーチンを呼び出す(実行する)には、 GOSUB 文に続けてサブルーチンのラベルを記述する。サブルーチンでの処理は、RETURN によって、そのサブルーチンを呼び出した GOSUB 文の次の行に処理を戻す。