Uses math Procedure Main Var i,o,size,r,v:Integer Var fhIn,fhOut:Integer Var buffer:Byte[] Var regs:Byte[255] Var s:String CGICloseBuffer If ParamStr(2), ParamStr(3) fhIn:=F_Open(ParamStr(2)) size:=F_Size(fhIn) CGIWriteLn('size='+Str(size)) InitArray(buffer[size-1]) F_Read(fhIn,buffer) F_Close(fhIn) i:=0 While i<=High(1,buffer) //CGIWriteLn(Str(i)+': '+base10toAny(buffer[i],16)) If buffer[i]=baseAnyTo10('AF',16) i++ If buffer[i]=baseAnyTo10('20',16) i++ r:=buffer[i] CGIWrite(base10toAny(r,16)) CGIWrite(':=') i++ v:=buffer[i] CGIWriteLn(base10toAny(v,16)) regs[r]:=v Else i++ End Else i++ End End fhOut:=Rewrite(ParamStr(3)) i:=0 While i<=baseAnyTo10('1C',16) s:=base10toAny(regs[i],16) Write(fhOut,FillStrLeft(s,'0',2)+' ') i++ End Close(fhOut) End EndProc