blob: 01e81ff7f0767534e883a3e4509b366a4ea541a9 [file] [log] [blame]
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