This tool allows the user to Disassemble i.e. convert from raw binary Machine Code back to User viewable/editable Mnemonics that can be directly modified using a text editor and then re-assembled using the free Microchip assembler.
The Disassembly process takes a varying amount of time depending on the memory size of the micro controller being utilised.
This tool requires both a valid Linker Command File (*.GLD) and ideally a valid Include file for the processor being disassembled, these are available from Microchip and are included in MPLAB. The software also requires you to set the correct memory size in bytes for the processor and the correct processor type.
The Linker Command File (GLD) file used for the disassembly cannot be used without modification for re-assembly you have to remove and alter sections from the Memory region:
reset : ORIGIN = 0x0, LENGTH = 0x4
ivt : ORIGIN = 0x4, LENGTH = 0xFC
aivt : ORIGIN = 0x104, LENGTH = 0xFC
program (xr) : ORIGIN = 0x200, LENGTH = 0x2AA00
program (xr) : ORIGIN = 0x00, LENGTH = 0x2AC00
And then remove the sections from the Sections region:
SHORT((ABSOLUTE(__reset) >> 16) & 0x7F);
.ivt __IVT_BASE :
LONG( DEFINED(__ReservedTrap0) ? ABSOLUTE(__ReservedTrap0) : ABSOLUTE(__DefaultInterrupt));
.aivt __AIVT_BASE :
LONG( DEFINED(__AltReservedTrap0) ? ABSOLUTE(__AltReservedTrap0) : (DEFINED(__ReservedTrap0) ? ABSOLUTE(__ReservedTrap0) : ABSOLUTE(__DefaultInterrupt)));
Download the trial version Here.
Purchase a fully licensed version using PayPal secure payments for only £6.99, this includes support and product upgrades for one calendar year from date of shipping.