90行目のSHIFTがいけません。 これのために、WHILEの判定式内ではDAT$は常にカラッポになってしまっています。 83行目は、WHILE TRUEとして、86行目に IF DAT$=="*-END-*" THEN BREAK などとやってみてはいかがでしょうか?