あ、バイトじゃなくて要素でした。 今、内部バッファの0~959まで取り出し終わっているとしましょう。そうすると、次に取り出すタイミングは、MICPOSが(959+64) MOD 1000=23以上になったときです。 このとき取り出さなければいけない範囲は960...999|0...23の40要素+24要素の64要素です。 そのため2回に分けてMICSAVEして、一つの配列にまとめる必要があります。この処理は、次に取り出すべき開始位置をL、保存先配列をBUFとするとこんな感じです! '前半 SIZE=MIN(BUFSIZE-L,64) MICSAVE L,SIZE,BUF IF SIZE<64 THEN '後半 DIM TMP[0] MICSAVE 0,64-SIZE,TMP COPY BUF,SIZE,TMP,64-SIZE ENDIF L=(L+64) MOD 1000