forked from epagris/FreeRTOS-Kernel
		
	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.
 | 
			
		||||
    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 @@ portRESTORE_CONTEXT .macro
 | 
			
		||||
    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
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user