MOVX moves a byte to or from External Memory into or from the Accumulator. If operand1 is @DPTR, the Accumulator is moved to the 16-bit External Memory address indicated by DPTR. This instruction uses both P0 (port 0) and P2 (port 2) to output the 16-bit address and data. If operand2 is DPTR then the byte is moved from External Memory into the Accumulator.
If operand1 is @R0 or @R1, the Accumulator is moved to the 8-bit External Memory address indicated by the specified Register. This instruction uses only P0 (port 0) to output the 8-bit address and data. P2 (port 2) is not affected. If operand2 is @R0 or @R1 then the byte is moved from External Memory into the Accumulator.
Syntax : MOVX operand1,operand2
Example : MOVX A,@R0
If operand1 is @R0 or @R1, the Accumulator is moved to the 8-bit External Memory address indicated by the specified Register. This instruction uses only P0 (port 0) to output the 8-bit address and data. P2 (port 2) is not affected. If operand2 is @R0 or @R1 then the byte is moved from External Memory into the Accumulator.
Syntax : MOVX operand1,operand2
Example : MOVX A,@R0
- Instruction
- Opcode
- Bytes
- Flags
- MOVX @DPTR,A
- 0xF0
- 1
- None
- MOVX @R0,A
- 0xF2
- 1
- None
- MOVX @R1,A
- 0xF3
- 1
- None
- MOVX A,@DPTR
- 0xE0
- 1
- None
- MOVX A,@R0
- 0xE2
- 1
- None
- MOVX A,@R1
- 0xE3
- 1
- None