	.module interrupts.c
	.area text
_MDCOF_handler::
; // interrupts.c
; 
; #include <stdio.h>
; #include <912D60.h>
; #include "kernel.h"
; 
; 
; 
; // FUNCTION PROTOTYPES
; void _start(void);
; 
; 
; 
; /* Example code flow for all of these handlers:
; 
; 	// IF interrupt isn't very time critical:
; 	   figure out who cares, if anyone, then send a msg to the caring task 
; 
; 
; 	if (resource[ADC].owner != 255)
; 		task[resource[ADC].owner].message |= ADC_MSG;
; 
; 
; 
; 	// IF interrupt is time critical:  (ie, there's data that needs to be serviced)	
; 	   get the data, put it in a buffer, then put the data in the message buffer 
; 
; 	task[resource[ADC].owner].message_data[ADC_MSG] = ADC;	// ADC = correct port definition?
; */
; 
; 
; 
; 
; 
; // GLOBALS
; extern unsigned int interrupt_flags_ADC;
; extern unsigned int interrupt_flags_TC;
; 
; 
; 
; 
; 
; #pragma interrupt_handler MDCOF_handler()
; 
; void MDCOF_handler(void) {
; 
; 	 /*// LOCAL VARIABLES
; 	 extern unsigned long int time_tick;
; 	 
; 	 // acknowledge the interrupt, incriment global time_tick
; 	 MCFLG = 0x80;
; 	 time_tick++;
; 	 */
; 
; }
L3:
	.dbline 0 ; func end
	rti
_KWU_handler::
; 
; 
; 
; #pragma interrupt_handler KWU_handler()
; 
; void KWU_handler(void) {}
L4:
	.dbline 0 ; func end
	rti
_ADC_handler::
; 
; 
; 
; #pragma interrupt_handler ADC_handler()
; 
; void ADC_handler(void) {}
L5:
	.dbline 0 ; func end
	rti
_SCI1_handler::
; 
; 
; 
; /* #pragma interrupt_handler SCI0_handler()
; 
; void SCI0_handler(void) {
; 
; 
; 
; } */
; 
; 
; 
; #pragma interrupt_handler SCI1_handler()
; 
; void SCI1_handler(void) {}
L6:
	.dbline 0 ; func end
	rti
_SPI_handler::
; 
; 
; 
; #pragma interrupt_handler SPI_handler()
; 
; void SPI_handler(void) {}
L7:
	.dbline 0 ; func end
	rti
_PAIE_handler::
; 
; 
; 
; #pragma interrupt_handler PAIE_handler()
; 
; void PAIE_handler(void) {}
L8:
	.dbline 0 ; func end
	rti
_PAO_handler::
; 
; 
; 
; #pragma interrupt_handler PAO_handler()
; 
; void PAO_handler(void) {}
L9:
	.dbline 0 ; func end
	rti
;  lreg1 -> -4,x
;  lreg2 -> -8,x
_TOF_handler::
	pshx
	tfr s,x
	leas -8,sp
; 
; 
; 
; #pragma interrupt_handler TOF_handler()
; 
; void TOF_handler(void) {
; 
; 	 // LOCAL VARIABLES
; 	 extern unsigned long int time_tick;
; 	 
; 	 // acknowledge the interrupt, incriment global time_tick
; 	 TFLG2 = 0x80;
	ldab #128
	stab 0x8f
; 	 time_tick++;
	ldy #_time_tick
	movw 0,y,-4,x
	movw 2,y,-2,x
	ldy #L11
	movw 0,y,-8,x
	movw 2,y,-6,x
	jsr __ladd
	ldy #_time_tick
	movw -4,x,0,y
	movw -2,x,2,y
; 
; }
L10:
	tfr x,s
	pulx
	.dbline 0 ; func end
	rti
_TC7_handler::
; 
; 
; 
; #pragma interrupt_handler TC7_handler()
; 
; void TC7_handler(void) {}
L12:
	.dbline 0 ; func end
	rti
_TC6_handler::
; 
; 
; 
; #pragma interrupt_handler TC6_handler()
; 
; void TC6_handler(void) {}
L13:
	.dbline 0 ; func end
	rti
_TC5_handler::
; 
; 
; 
; #pragma interrupt_handler TC5_handler()
; 
; void TC5_handler(void) {}
L14:
	.dbline 0 ; func end
	rti
_TC4_handler::
; 
; 
; 
; #pragma interrupt_handler TC4_handler()
; 
; void TC4_handler(void) {}
L15:
	.dbline 0 ; func end
	rti
_TC3_handler::
; 
; 
; 
; #pragma interrupt_handler TC3_handler()
; 
; void TC3_handler(void) {}
L16:
	.dbline 0 ; func end
	rti
_TC2_handler::
; 
; 
; 
; #pragma interrupt_handler TC2_handler()
; 
; void TC2_handler(void) {}
L17:
	.dbline 0 ; func end
	rti
_TC1_handler::
; 
; 
; 
; #pragma interrupt_handler TC1_handler()
; 
; void TC1_handler(void) {}
L18:
	.dbline 0 ; func end
	rti
_TC0_handler::
; 
; 
; 
; #pragma interrupt_handler TC0_handler()
; 
; void TC0_handler(void) {}
L19:
	.dbline 0 ; func end
	rti
_IRQ_handler::
; 
; 
; 
; #pragma interrupt_handler IRQ_handler()
; 
; void IRQ_handler(void) {}
L20:
	.dbline 0 ; func end
	rti
_XIRQ_handler::
; 
; 
; 
; #pragma interrupt_handler XIRQ_handler()
; 
; void XIRQ_handler(void) {}
L21:
	.dbline 0 ; func end
	rti
_SWI_handler::
; 
; 
; 
; #pragma interrupt_handler SWI_handler()
; 
; void SWI_handler(void) {}
L22:
	.dbline 0 ; func end
	rti
_COP_handler::
; 
; 
; 
; #pragma interrupt_handler COP_handler()
; 
; void COP_handler(void) {
; 
; 	 puts("COP RESET!");
	ldd #L24
	jsr _puts
; 	 _start();
	jsr __start
; 
; }
L23:
	.dbline 0 ; func end
	rti
_CLM_handler::
; 
; 
; 
; #pragma interrupt_handler CLM_handler()
; 
; void CLM_handler(void) {}
L25:
	.dbline 0 ; func end
	rti
L24:
	.byte 'C,'O,'P,32,'R,'E,'S,'E,'T,33,0
L11:
	.word 0,1

