Can anyone help me out by verifying this bin has the ldrxn switch code properly implemented?
the original code has this:
mov r12, #0E400h
mov r13, #23Fh
but it would make more sense to me if it was this:
mov r12, #2400h
mov r13, #23Fh
the map is at 8FE400 so my logic is:
23F * 4000 = 8FC000
+ 2400 = 8FE400
same with the ldrxnzk call below it
23Ch × 4000h = 8F0000h
I haven't looked at your file but I guess it is your "base" address. If I am correct then unless you have register with saved value 23Fh just before instruction it is 23Ch. Same as 204h for most ME7 files I've seen
In this specific case I would say r13 is being used with another constant or register
UPDATE: Reread your post and I think you are correct if this is not original code, then there might be error and you are right