MOVA | Move the 20-bit source to the 20-bit destination |
Syntax |
MOVA Rsrc,Rdst |
|
MOVA #imm20,Rdst |
|
MOVA z16(Rsrc),Rdst |
|
MOVA EDE,Rdst |
|
MOVA &abs20,Rdst |
|
MOVA @Rsrc,Rdst |
|
MOVA @Rsrc+,Rdst |
|
MOVA Rsrc,z16(Rdst) |
|
MOVA Rsrc,&abs20 |
Operation | src → Rdst |
| Rsrc → dst |
Description | The 20-bit source operand is moved to the 20-bit destination. The source operand is not affected. The previous content of the destination is lost. |
Status Bits | N: | Not affected |
| Z: | Not affected |
| C: | Not affected |
| V: | Not affected |
Mode Bits | OSCOFF, CPUOFF, and GIE are not affected. |
Examples | Copy 20-bit value in R9 to R8 |
MOVA R9,R8 ; R9 -> R8
| Write 20-bit immediate value 12345h to R12 |
MOVA #12345h,R12 ; 12345h -> R12
| Copy 20-bit value addressed by (R9 + 100h) to R8. Source operand in addresses (R9 + 100h) LSBs and (R9 + 102h) MSBs. |
MOVA 100h(R9),R8 ; Index: + 32 K. 2 words transferred
| Move 20-bit value in 20-bit absolute addresses EDE (LSBs) and EDE+2 (MSBs) to R12 |
MOVA &EDE,R12 ; &EDE -> R12. 2 words transferred
| Move 20-bit value in 20-bit addresses EDE (LSBs) and EDE+2 (MSBs) to R12. PC index ± 32 K. |
MOVA EDE,R12 ; EDE -> R12. 2 words transferred
| Copy 20-bit value R9 points to (20 bit address) to R8. Source operand in addresses @R9 LSBs and @(R9 + 2) MSBs. |
MOVA @R9,R8 ; @R9 -> R8. 2 words transferred
| Copy 20-bit value R9 points to (20 bit address) to R8. R9 is incremented by four afterwards. Source operand in addresses @R9 LSBs and @(R9 + 2) MSBs. |
MOVA @R9+,R8 ; @R9 -> R8. R9 + 4. 2 words transferred.
| Copy 20-bit value in R8 to destination addressed by (R9 + 100h). Destination operand in addresses @(R9 + 100h) LSBs and @(R9 + 102h) MSBs. |
MOVA R8,100h(R9) ; Index: +- 32 K. 2 words transferred
| Move 20-bit value in R13 to 20-bit absolute addresses EDE (LSBs) and EDE+2 (MSBs) |
MOVA R13,&EDE ; R13 -> EDE. 2 words transferred
| Move 20-bit value in R13 to 20-bit addresses EDE (LSBs) and EDE+2 (MSBs). PC index ± 32 K. |
MOVA R13,EDE ; R13 -> EDE. 2 words transferred