by cboles » Wed May 18, 2005 10:46 am
Here is a HC16 dissasembler module for IDA Pro 4.7.0.830 that I wrote.
If you just need to use the module:
* download ida47hc16.zip
* copy the hc16.cfg file to your \Program Files\IDA47\cfg dir
* copy the hc16.w32 file to your \Program Files\IDA47\procs dir
* the module will appear as "Freescale HC16 series: 68HC16" in the processor type list
If you want to compile / change the source
* download srcida47hc16.zip
* unpack it wherever you like
* IDA 4.7 should be installed in C:\Program Files\IDA47 for the post build step to place the hc16.w32 file in C:\Program Files\IDA47\procs
* copy the hc16.cfg file to your \Program Files\IDA47\cfg dir
* use Visual Studio 7 to open the ida\module\hc16\hc16.sln file
* build away!
notes:
* this version does not support any smart tracking of the index register values - i'm working on that feature, but don't completey understand how to best implement this in IDA. if you have experience with this and can help, please contact me.
* there is an intentional non-standard ordering of operands for the BRCLR and BRSET opcodes. this is becaise IDA doesn't seem to follow branches if the code addresses are in an operand position greater than 3 (which happens when you use indirect addressing with X, Y, and Z). as a fix, i turned what should be:
BRCLR yOffset, Y, #bitmask, branchaddress
and changed it to
BRCLR yOffset, Y, branchaddress, #bitmask
- Attachments
-
- srcida47hc16.zip
- Source code for IDA 4.7 HC16 disassembler module
- (484.23 KiB) Downloaded 1811 times
-
- ida47hc16.zip
- IDA 4.7 HC16 disassembler module
- (33.73 KiB) Downloaded 1536 times
Last edited by
cboles on Sun May 22, 2005 12:15 pm, edited 2 times in total.