%include "inc:region.imp"
%begin
%string(63)s=cliparam,in,out
%bytearray b(1:512)
%integer offset,amount
%integer size,token,i
  %on 3 %start
    printstring(" not OK"); newline
    selectoutput(1)
    newline
    printstring("Bad block Bad block Bad block Bad block Bad block!")-
      %and newline %for i = 1,1,10
    newline
    ->ok
  %finish
  %unless s -> in.("/").out %start
    printstring("in/out"); newline; %stop
  %finish
  openoutput(1,out)
  accessfile(in,0,token,size)
  offset = 0; amount = 512
  %cycle
    amount = size-offset %if offset+amount>size
    selectoutput(0)
    write(offset>>9,3)
    readregion(token,offset,amount,b(1))
    printstring(" OK"); newline
    selectoutput(1); printsymbol(b(i)) %for i = 1,1,512
ok: offset = offset+512
  %repeatuntil offset>=size
  deaccessfile(token)
%end
