I am writing directly in assembler to get speed. Using MOVC A,@A+DPTR produces opcode 93 but the prior A value (required for the offset) appears in the accumulator afterwards rather than the contents of the eeprom addressed by the DPTR at #8000H. Normal MOVX @DPTR,A works and using INC DPTR works too. Any ideas??
Sorry I am not able to understand the query completely. As per my understanding, the instruction MOVC A,@A+DPTR copies the contents present in the address (A+DPTR) to A.
Can you please check what is the value of A, DPTR and what is the value in the location A+DPTR, call the MOVC A,@A+DPTR instruction and see what value does A have after execution.