program startaddr; var fin : file of byte; fout : file of byte; addrval : LongInt; b: Byte; function HexToInt( hex:String ): LongInt; const hext : Array [0..15] of Char = ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D' , 'E', 'F'); var i, j: Byte; Mul : LongInt; {multiplicator} result: LongInt; begin result := 0; Mul := 1; for i:=length(hex) downto 1 do begin for j:=0 to 15 do begin if hex[i]=hext[j] then begin result := result + (j * Mul); end; end; Mul := Mul * 16; end; HexToInt := result; end; begin addrval := HexToInt( paramstr(3) ); assign (fin, paramstr(1)); assign (fout, paramstr(2)); reset (fin); rewrite (fout); b := ( addrval mod 256 ); write ( fout, b ); b := Trunc( addrval / 256 ); write ( fout, b ); While filesize(fin)<>filepos(fin) do begin read (fin, b); write (fout, b); end; close (fout); close(fin); end.