Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
05/08/05 06:54
Read: times


 
#93187 - movc buggy
Responding to: ???'s previous message
Hi people,

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
*Acc=prog[*Acc+*DPTR];
PC++;
break;
case 0x83: // movc A,@PC+A
*Acc=prog[*Acc+PC];
PC++;
break;

I consider that as a major fault in the emulation core and I've already mailed the developer of emu51 on this subject.

cheers,
Matthias

List of 7 messages in thread
TopicAuthorDate
emu51 under GNU/Linux            01/01/70 00:00      
   Nice work.            01/01/70 00:00      
      thanks            01/01/70 00:00      
         SImulator (cross platform)            01/01/70 00:00      
   movc buggy            01/01/70 00:00      
      bug reporting infrastructure at sf.net            01/01/70 00:00      
   font patch            01/01/70 00:00      

Back to Subject List