mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-20 05:21:59 -04:00
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>
This commit is contained in:
parent
a07f649bd5
commit
97434a4e0c
|
@ -48,7 +48,7 @@ portSAVE_CONTEXT .macro
|
||||||
|
|
||||||
;Save the remaining registers.
|
;Save the remaining registers.
|
||||||
pushm_x #12, r15
|
pushm_x #12, r15
|
||||||
mov.w &usCriticalNesting, r14
|
movx.w &usCriticalNesting, r14
|
||||||
push_x r14
|
push_x r14
|
||||||
mov_x &pxCurrentTCB, r12
|
mov_x &pxCurrentTCB, r12
|
||||||
mov_x sp, 0( r12 )
|
mov_x sp, 0( r12 )
|
||||||
|
@ -60,7 +60,7 @@ portRESTORE_CONTEXT .macro
|
||||||
mov_x &pxCurrentTCB, r12
|
mov_x &pxCurrentTCB, r12
|
||||||
mov_x @r12, sp
|
mov_x @r12, sp
|
||||||
pop_x r15
|
pop_x r15
|
||||||
mov.w r15, &usCriticalNesting
|
movx.w r15, &usCriticalNesting
|
||||||
popm_x #12, r15
|
popm_x #12, r15
|
||||||
nop
|
nop
|
||||||
pop.w sr
|
pop.w sr
|
||||||
|
|
Loading…
Reference in a new issue