RSEG ICODE:CODE | |
EXTERN vUARTRxISRHandler | |
EXTERN vUARTTxISRHandler | |
PUBLIC vUARTRxISRWrapper | |
PUBLIC vUARTTxISRWrapper | |
; Wrappers for the serial port interrupt service routines. These can cause a | |
; context switch so requires an assembly wrapper. | |
; Defines the portSAVE_CONTEXT and portRESTORE_CONTEXT macros. | |
#include "ISR_Support.h" | |
vUARTRxISRWrapper: | |
portSAVE_CONTEXT ; Save the context of the current task. | |
jarl vUARTRxISRHandler, lp ; Call the ISR routine. | |
portRESTORE_CONTEXT ; Restore the context of the current task - | |
; which may be different to the task that | |
; was interrupted. | |
vUARTTxISRWrapper: | |
portSAVE_CONTEXT ; Save the context of the current task. | |
jarl vUARTTxISRHandler, lp ; Call the ISR routine. | |
portRESTORE_CONTEXT ; Restore the context of the current task - | |
; which may be different to the task that | |
; was interrupted. | |
COMMON INTVEC:CODE:ROOT(2) | |
ORG 2c0H | |
`??vUARTRxISRWrapper??INTVEC 2c0`: | |
JR vUARTRxISRWrapper | |
COMMON INTVEC:CODE:ROOT(2) | |
ORG 2d0H | |
`??vUARTTxISRWrapper??INTVEC 2d0`: | |
JR vUARTTxISRWrapper | |
END | |