Trying to analyse a dump from MC9S12X series MCU and can`t get how IDA making cross flash page references and if it could be done without scripts.

The project contains 64 code segments with linear addresses 0x700000, 0x704000, etc. Every segment`s head points to flash window with virtual address 0x8000. When I try to make automatic analysis all CALL/branch instructions points to the current segment. How could I assign any segment a page number?


1 Answer 1


I'm also trying to do some reverse engineering with an MC9S12X.

What i know is that it uses PPAGE register at 0x0030 of local address space to the which 16k page is shown at 0x8000.

IDA has concept of segments, so it may be able to emulate the paging of the CPU.

There are branch instructions that may be able to also load a specific segment.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.