Hello everyone.
This is my first post in the forum, so i hope i dont break any rules.
Im developing a dissasembler for the ms42 processor and i got to a dumb halt that some of you may be able to solve:
The thing is, the first 4 bytes of my .bin (full 512k read, ms42 C6) are:
Code:
0xFA 0x00 0x60 0x06
The thing is,
0xFA is the opcode for the
JMPS instruction (unconditional jump relative to segment + addres). Which makes a lot of sense!
Well, the thing is: the bootloader starts with some yet unknown bytes from
0x00000 to
0x000226. Then it fills with
0xFF until
0x000660. If you check the first 4 bytes shown above, you can clearly see
0x0660 in little endian. But transposing also the first 2 bytes we get
0x00 0xFA, which is not the opcode for
JMPS but
ADD, which doesnt make too much sense for me.
So, my question is: Do you know what this first instruction should really translate to? I can go on with just one example, doesnt need to be the first but any instruction in assembler and its hex output.
Sorry for my bad english and i hope i have explained in clear enough terms my problem.
PS: The documentation about the CPU im following comes from:
https://www.infineon.com/dgdl/Infineon- ... 361fac649ahttps://www.keil.com/dd/docs/datashts/i ... 166ism.pdfPS2: The code of the project i will be uploading to github:
https://github.com/TretornESP/decompile46 (dont expect much by now, i have just started today).