Hello,
please have a look:
http://www.keil.com/forum/18146/
I have sometimes the same problem.
C:0x0B57 020B96 LJMP 0x0B96
But at 0x0B96 disassembly shows no valid opcode:
C:0x0B94 8090 SJUMP C:0B26 C:0x0B96 10BEE4 JBC 0xB8.6,C:0B7D
Jumping to 0x0B96 leads to crashes.
What can I do to get rid of this permanently?
Best regards,
Simon
Actually, no. For starters, that poster did not actually have a problem.
How did you arrive at the conclusion that that's not a valid opcode?
Hi,
your right, actually in this example ist is working, my fault.
The not working view is this one:
C:0x0B57 020B95 LJMP 0x0B95
jump to 0x0B95 is not jumping to a valid opcode...
I have this behaviour randomly since two days, I will have a look at this, thought, perhaps somebody has a ready solution?!
did you in any way modify startup.a51
The snippet you show does not allow that conclusion. The fact that a disassembly begun for whatever reason at C:0x0B94 shows a somewhat strange result tells you nothing about what the CPU (and the disassembler) would see if you pointed it at the correct point that really is being jumped to: C:0x0B95 What you're actually looking at is
C:0x0B95 9010BE MOV DPTR #0x10BE
There's absolutely nothing wrong with that line. You're looking at the wrong part of your source code, in the wrong way.