一応・・・ キムKENさんの意図してる動きかどうかは分かりませんが、不要なループ取り除いて、変数を合わせて、サブルーチンをメインループの外に出して  とりあえず動く様にはなりますが・・・ (サブルーチンの中のACLSでエラーが残ってます) ていうか、プログラムの途中でACLSしてしまうと地味に大変