;/*\r
-; FreeRTOS V8.2.1 - Copyright (C) 2015 Real Time Engineers Ltd.\r
+; FreeRTOS V9.0.0rc1 - Copyright (C) 2016 Real Time Engineers Ltd.\r
; All rights reserved\r
; \r
;\r
\r
PUSH AX ; Save AX Register to stack.\r
PUSH HL\r
-#if __DATA_MODEL__ == __DATA_MODEL_FAR__\r
MOV A, CS ; Save CS register.\r
XCH A, X\r
MOV A, ES ; Save ES register.\r
PUSH AX\r
-#else\r
- MOV A, CS ; Save CS register.\r
- PUSH AX\r
-#endif\r
PUSH DE ; Save the remaining general purpose registers.\r
PUSH BC\r
MOVW AX, usCriticalNesting ; Save the usCriticalNesting value.\r
MOVW usCriticalNesting, AX\r
POP BC ; Restore the necessary general purpose registers.\r
POP DE\r
-#if __DATA_MODEL__ == __DATA_MODEL_FAR__\r
POP AX ; Restore the ES register.\r
MOV ES, A\r
XCH A, X ; Restore the CS register.\r
MOV CS, A\r
-#else\r
- POP AX\r
- MOV CS, A ; Restore CS register.\r
-#endif\r
POP HL ; Restore general purpose register HL.\r
POP AX ; Restore AX.\r
ENDM\r