ここで DAT3$=DAT$ について、DAT$の値はすでにメモリに存在していて、参照情報もDAT$ 用のものがあります。
DAT3$=DAT$ としたときに、DAT3$ のメモリに値がコピーされるのではなく、DAT3$ の参照情報がDAT$ と同じものにかわります。
そのあとの配列操作命のSHIFT でDAT3$ を操作すると、DAT$ と同じメモリの値を参照しているので、結果的にDAT$ の値もDAT3$ の値も SHIFTされます。
これをしないようにするには、DAT3$ とDAT$ のメモリの値を別々に確保しなくてはいけません。
配列操作であれば COPY を使って配列をコピーするのがいいと思われます。
2そうだね プレイ済み