while toying around with emu51, I found out that the
emulation of the instructions MOVC A,@A+DPTR and MOVC
A,@A+PC in emu51 is faulty.
They read the external data memory instead of code
space which they are supposed to do.
"prog" was "ram" in both cases which is faulty.
You can easily fix that by patching the source code.
Beginning from line 804 in emu51.cpp it has to be:
case 0x93: // movc A,@DPTR+A
case 0x83: // movc A,@PC+A
Log in to post a comment.