This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

MOV in ASM

if my ASM code is previously coded to run for 256Byte internal RAM of MCU (use MOV instruction)
and i now need to change to external 2Kbyte RAM (use MOVX), then should i change R7 to R7:R6 because R7 is
not big enought to address BUFFER? or can anyone suggest what should i change the following code?

unsigned char Test(unsigned char BUFFER)
{

#pragma asm

MOV A, R7
MOV R1, A
RET

#pragma endasm
return 1;
}

Parents
  • The address for the MOVX A, @DPTR instruction comes from the DPTR register. For "pdata" access with the MOVX A,@Ri form, the high byte of the address comes from P2, and the low byte comes from the register in question.

Reply
  • The address for the MOVX A, @DPTR instruction comes from the DPTR register. For "pdata" access with the MOVX A,@Ri form, the high byte of the address comes from P2, and the low byte comes from the register in question.

Children