anchor.diff:      begin
         if ChunkSize > (ChipSize - Address) then ChunkSize := ChipSize - Address;
   
  -      if ChipSize > 16777215 then
  +      if ChipSize > 16777216 then
           BytesRead := BytesRead + UsbAsp25_Read32bitAddr(hUSBDev, $13, Address, datachunk, ChunkSize)
         else
           BytesRead := BytesRead + UsbAsp25_Read(hUSBDev, $03, Address, datachunk, ChunkSize);
  
positive.code:   begin
      if ChunkSize > (DataSize - Address) then ChunkSize := DataSize - Address;
  
      if DataSize > 16777215 then
          BytesRead := BytesRead + UsbAsp25_Read32bitAddr(hUSBDev, $13, Address, datachunk, ChunkSize)
        else
          BytesRead := BytesRead + UsbAsp25_Read(hUSBDev, $03, Address, datachunk, ChunkSize);
  
negative.code:             //3 байтовая адресация включена
  
              //старший байт адреса
              if Address > 16777216 then
              begin
                UsbAsp25_WriteSR(hUSBDev, hi(hi(Address)), $c5);
                UsbAsp25_WREN(hUSBDev);
  