SLAU367P October 2012 – April 2020 MSP430FR5041 , MSP430FR5043 , MSP430FR50431 , MSP430FR5847 , MSP430FR58471 , MSP430FR5848 , MSP430FR5849 , MSP430FR5857 , MSP430FR5858 , MSP430FR5859 , MSP430FR5867 , MSP430FR58671 , MSP430FR5868 , MSP430FR5869 , MSP430FR5870 , MSP430FR5872 , MSP430FR58721 , MSP430FR5887 , MSP430FR5888 , MSP430FR5889 , MSP430FR58891 , MSP430FR5922 , MSP430FR59221 , MSP430FR5947 , MSP430FR59471 , MSP430FR5948 , MSP430FR5949 , MSP430FR5957 , MSP430FR5958 , MSP430FR5959 , MSP430FR5962 , MSP430FR5964 , MSP430FR5967 , MSP430FR5968 , MSP430FR5969 , MSP430FR5969-SP , MSP430FR59691 , MSP430FR5970 , MSP430FR5972 , MSP430FR59721 , MSP430FR5986 , MSP430FR5987 , MSP430FR5988 , MSP430FR5989 , MSP430FR5989-EP , MSP430FR59891 , MSP430FR5992 , MSP430FR5994 , MSP430FR59941 , MSP430FR6005 , MSP430FR6007 , MSP430FR6035 , MSP430FR6037 , MSP430FR60371 , MSP430FR6041 , MSP430FR6043 , MSP430FR60431 , MSP430FR6045 , MSP430FR6047 , MSP430FR60471 , MSP430FR6820 , MSP430FR6822 , MSP430FR68221 , MSP430FR6870 , MSP430FR6872 , MSP430FR68721 , MSP430FR6877 , MSP430FR6879 , MSP430FR68791 , MSP430FR6887 , MSP430FR6888 , MSP430FR6889 , MSP430FR68891 , MSP430FR6920 , MSP430FR6922 , MSP430FR69221 , MSP430FR6927 , MSP430FR69271 , MSP430FR6928 , MSP430FR6970 , MSP430FR6972 , MSP430FR69721 , MSP430FR6977 , MSP430FR6979 , MSP430FR69791 , MSP430FR6987 , MSP430FR6988 , MSP430FR6989 , MSP430FR69891
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 4 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