We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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; }
But R1 in RB0 has physical address 0x01, R1 in RB1 has physical address 0x09, R1 in RB2 has physical address 0x11, and R1 in RB3 has physical address 0x19. The example is effectively R1 = BUFFER. What 8051 has registers allocated to memory accessible via MOVX?