summaryrefslogtreecommitdiff
path: root/Source/portable/IAR/78K0R/portasm.s26
diff options
context:
space:
mode:
Diffstat (limited to 'Source/portable/IAR/78K0R/portasm.s26')
-rw-r--r--Source/portable/IAR/78K0R/portasm.s2669
1 files changed, 1 insertions, 68 deletions
diff --git a/Source/portable/IAR/78K0R/portasm.s26 b/Source/portable/IAR/78K0R/portasm.s26
index 62206ed5..2bb46e1c 100644
--- a/Source/portable/IAR/78K0R/portasm.s26
+++ b/Source/portable/IAR/78K0R/portasm.s26
@@ -29,8 +29,7 @@
; ***************************************************************************
;
;------------------------------------------------------------------------------
-; Note: Select the correct include files for the device used by the application.
-#include "FreeRTOSConfig.h"
+#include "ISR_Support.h"
;------------------------------------------------------------------------------
#if __CORE__ != __78K0R__
@@ -51,12 +50,6 @@
EXTERN vTaskSwitchContext
EXTERN vTaskIncrementTick
-; Variables used by scheduler
-;------------------------------------------------------------------------------
- EXTERN pxCurrentTCB
- EXTERN usCriticalNesting
-
-
; Tick ISR Prototype
;------------------------------------------------------------------------------
EXTERN ?CL78K0R_V2_L00
@@ -68,66 +61,6 @@ MD_INTTM05 SYMBOL "MD_INTTM05"
`??MD_INTTM05??INTVEC 68` SYMBOL "??INTVEC 68", MD_INTTM05
-;------------------------------------------------------------------------------
-; portSAVE_CONTEXT MACRO
-; Saves the context of the remaining general purpose registers, CS and ES
-; (only in far memory mode) registers
-; the usCriticalNesting Value and the Stack Pointer
-; of the active Task onto the task stack
-;------------------------------------------------------------------------------
-portSAVE_CONTEXT MACRO
-
- PUSH AX ; save AX Register to stack
- PUSH HL
-#if configMEMORY_MODE == 1
- MOV A, CS ; save CS register
- XCH A, X
- MOV A, ES ; save ES register
- PUSH AX
-#else
- MOV A, CS ; save CS register
- PUSH AX
-#endif
- PUSH DE ; save the remaining general purpose registers
- PUSH BC
- MOVW AX, usCriticalNesting ; save the usCriticalNesting value
- PUSH AX
- MOVW AX, pxCurrentTCB ; save the Stack pointer
- MOVW HL, AX
- MOVW AX, SP
- MOVW [HL], AX
- ENDM
-;------------------------------------------------------------------------------
-
-;------------------------------------------------------------------------------
-; portRESTORE_CONTEXT MACRO
-; Restores the context of the Stack Pointer, usCriticalNesting
-; value, general purpose registers and the CS and ES (only in far memory mode)
-; of the selected task from the task stack
-;------------------------------------------------------------------------------
-
-portRESTORE_CONTEXT MACRO
- MOVW AX, pxCurrentTCB ; restore the Stack pointer
- MOVW HL, AX
- MOVW AX, [HL]
- MOVW SP, AX
- POP AX ; restore usCriticalNesting value
- MOVW usCriticalNesting, AX
- POP BC ; restore the necessary general purpose registers
- POP DE
-#if configMEMORY_MODE == 1
- POP AX ; restore the ES register
- MOV ES, A
- XCH A, X ; restore the CS register
- MOV CS, A
-#else
- POP AX
- MOV CS, A ; restore CS register
-#endif
- POP HL ; restore general purpose register HL
- POP AX ; restore AX
- ENDM
-;------------------------------------------------------------------------------
;------------------------------------------------------------------------------
; Port Yield function to check for a Task switch in the cooperative mode