Use the extended movx instruction instead of mov (#676)
The following is from the MSP430X instruction set -
```
MOVX.W Move source word to destination word.
The source operand is copied to the destination. The source operand is
not affected. Both operands may be located in the full address space.
```
The movx instruction allows both the operands to be located in the full
address space and therefore, works with large data model as well.
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
diff --git a/portable/CCS/MSP430X/portext.asm b/portable/CCS/MSP430X/portext.asm
index 9ebfa99..9fe306e 100644
--- a/portable/CCS/MSP430X/portext.asm
+++ b/portable/CCS/MSP430X/portext.asm
@@ -48,7 +48,7 @@
;Save the remaining registers.
pushm_x #12, r15
- mov.w &usCriticalNesting, r14
+ movx.w &usCriticalNesting, r14
push_x r14
mov_x &pxCurrentTCB, r12
mov_x sp, 0( r12 )
@@ -60,7 +60,7 @@
mov_x &pxCurrentTCB, r12
mov_x @r12, sp
pop_x r15
- mov.w r15, &usCriticalNesting
+ movx.w r15, &usCriticalNesting
popm_x #12, r15
nop
pop.w sr