ENDを消す必要はないです。 ENDとVSYNCは対ではないので、ENDはどこにどんな形で存在しても問題ないからです。 @LOOP IF C==16 THEN (略) VSYNC:END ←このVSYNCはループの通り道にないので終了直前まで実行されていない VSYNC ←このVSYNCはループの通り道にあるので実行される GOTO @LOOP VSYNCは「前回のVSYNCから一定時間が経過していなければそのタイミングまで待つ」という命令なので、CLS直後のVSYNCが実行されてから数値を入力しているあいだにそのタイミングが過ぎてしまうと、IFの後に書いても「待ち」が入らないので、pianistさんが最初にVSYNC 6などを試した時に無効になっていたのです。