I’m using Ghidra to analyze an assembly code on HC11 core (old Motorola micros).
In a function where it apparently makes a switch case (image 1) if it loads value 0x00 to B register (0xddeb line), then the resulting value that will be added to Y pointer (line 0xddf7) will result in an out of boundary access (jmp to 0xde40 – see image 2 shows end of FUN_ddeb is 0xde3e).
image 1
image 2
Due to this, Ghidra is not able to disassembly this part and crashes
crash
I know this is an project bug, but as I’m assuming programmer controls the value, but Ghidra doesn’t see this way and crashes disassembly.
How can I solve this?
I tried patch 0xddf0 line with value 0x20 but doesn’t work.
Lucas Luchiari is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.