etisserant@0: ;;/* M68HC11 Interrupt vectors table
etisserant@0: ;;   Copyright (C) 1999 Free Software Foundation, Inc.
etisserant@0: ;;   Written by Stephane Carrez (stcarrez@worldnet.fr)	
etisserant@0: ;;
etisserant@0: ;;This file is free software; you can redistribute it and/or modify it
etisserant@0: ;;under the terms of the GNU General Public License as published by the
etisserant@0: ;;Free Software Foundation; either version 2, or (at your option) any
etisserant@0: ;;later version.
etisserant@0: ;;
etisserant@0: ;;In addition to the permissions in the GNU General Public License, the
etisserant@0: ;;Free Software Foundation gives you unlimited permission to link the
etisserant@0: ;;compiled version of this file with other programs, and to distribute
etisserant@0: ;;those programs without any restriction coming from the use of this
etisserant@0: ;;file.  (The General Public License restrictions do apply in other
etisserant@0: ;;respects; for example, they cover modification of the file, and
etisserant@0: ;;distribution when not linked into another program.)
etisserant@0: ;;
etisserant@0: ;;This file is distributed in the hope that it will be useful, but
etisserant@0: ;;WITHOUT ANY WARRANTY; without even the implied warranty of
etisserant@0: ;;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
etisserant@0: ;;General Public License for more details.
etisserant@0: ;;
etisserant@0: ;;You should have received a copy of the GNU General Public License
etisserant@0: ;;along with this program; see the file COPYING.  If not, write to
etisserant@0: ;;the Free Software Foundation, 59 Temple Place - Suite 330,
etisserant@0: ;;Boston, MA 02111-1307, USA.  
etisserant@0: ;; ----------------------------------------------
etisserant@0: ;; Modified by  Francis Dupin for MC9S12DP256.  April 2003
etisserant@0: ;; francis.dupin@inrets.fr
etisserant@0: ;;*/
etisserant@0: 
etisserant@0: 	.sect .text
etisserant@0: 	.globl _start
etisserant@0:         .globl can4HdlTra
etisserant@0:  	.globl can4HdlRcv
etisserant@0: 	.globl can4HdlErr
etisserant@0: 	.globl can4HdlWup
etisserant@0: 	.globl can3HdlTra
etisserant@0:  	.globl can3HdlRcv
etisserant@0: 	.globl can3HdlErr
etisserant@0:  	.globl can3HdlWup
etisserant@0: 	.globl can2HdlTra
etisserant@0:  	.globl can2HdlRcv
etisserant@0: 	.globl can2HdlErr
etisserant@0:  	.globl can2HdlWup
etisserant@0:         .globl can1HdlTra
etisserant@0:  	.globl can1HdlRcv
etisserant@0: 	.globl can1HdlErr
etisserant@0:  	.globl can1HdlWup
etisserant@0: 	.globl can0HdlTra
etisserant@0: 	.globl can0HdlRcv
etisserant@0: 	.globl can0HdlErr
etisserant@0:  	.globl can0HdlWup
etisserant@0: 	.globl timerOvflHdl 
etisserant@0: 	.globl timer3IC 
etisserant@0: 	.globl timer2IC
etisserant@0: 	.globl timer1IC
etisserant@0: 	.globl timer0IC
etisserant@0: 	  
etisserant@0: ;; Default interrupt handler.
etisserant@0: 	.sect .text
etisserant@0: def:
etisserant@0: 	rti
etisserant@0: 
etisserant@0: ;; 
etisserant@0: ;; Interrupt vectors are in a specific section that is
etisserant@0: ;; mapped at 0xff00. For the example program, the reset handler
etisserant@0: ;; points to the generic crt0 entry point.
etisserant@0: ;;
etisserant@0: 	.sect .vectors
etisserant@0: 	.globl vectors
etisserant@0: vectors:
etisserant@0:        
etisserant@0:         .word def               ; ff00
etisserant@0:         .word def               ; ff02
etisserant@0:         .word def               ; ff04
etisserant@0:         .word def               ; ff06
etisserant@0:         .word def               ; ff08
etisserant@0:         .word def               ; ff0a
etisserant@0:         .word def               ; ff0c
etisserant@0:         .word def               ; ff0e
etisserant@0:         .word def               ; ff10
etisserant@0:         .word def               ; ff12
etisserant@0:         .word def               ; ff14
etisserant@0:         .word def               ; ff16
etisserant@0:         .word def               ; ff18
etisserant@0:         .word def               ; ff1a
etisserant@0:         .word def               ; ff1c
etisserant@0:         .word def               ; ff1e
etisserant@0:         .word def               ; ff20
etisserant@0:         .word def               ; ff22
etisserant@0:         .word def               ; ff24
etisserant@0:         .word def               ; ff26
etisserant@0:         .word def               ; ff28
etisserant@0:         .word def               ; ff2a
etisserant@0:         .word def               ; ff2c
etisserant@0:         .word def               ; ff2e
etisserant@0:         .word def               ; ff30
etisserant@0:         .word def               ; ff32
etisserant@0:         .word def               ; ff34
etisserant@0:         .word def               ; ff36
etisserant@0:         .word def               ; ff38
etisserant@0:         .word def               ; ff3a
etisserant@0:         .word def               ; ff3c
etisserant@0:         .word def               ; ff3e
etisserant@0:         .word def               ; ff40
etisserant@0:         .word def               ; ff42
etisserant@0:         .word def               ; ff44
etisserant@0:         .word def               ; ff46
etisserant@0:         .word def               ; ff48
etisserant@0:         .word def               ; ff4a
etisserant@0:         .word def               ; ff4c
etisserant@0:         .word def               ; ff4e
etisserant@0:         .word def               ; ff50
etisserant@0:         .word def               ; ff52
etisserant@0:         .word def               ; ff54
etisserant@0:         .word def               ; ff56
etisserant@0:         .word def               ; ff58
etisserant@0:         .word def               ; ff5a
etisserant@0:         .word def               ; ff5c
etisserant@0:         .word def               ; ff5e
etisserant@0:         .word def               ; ff60
etisserant@0:         .word def               ; ff62
etisserant@0:         .word def               ; ff64
etisserant@0:         .word def               ; ff66
etisserant@0:         .word def               ; ff68
etisserant@0:         .word def               ; ff6a
etisserant@0:         .word def               ; ff6c
etisserant@0:         .word def               ; ff6e
etisserant@0:         .word def               ; ff70
etisserant@0:         .word def               ; ff72
etisserant@0:         .word def               ; ff74
etisserant@0:         .word def               ; ff76
etisserant@0:         .word def               ; ff78
etisserant@0:         .word def               ; ff7a
etisserant@0:         .word def               ; ff7c
etisserant@0:         .word def               ; ff7e
etisserant@0:         .word def               ; ff80
etisserant@0:         .word def               ; ff82
etisserant@0:         .word def               ; ff84
etisserant@0:         .word def               ; ff86
etisserant@0:         .word def               ; ff88
etisserant@0:         .word def               ; ff8a
etisserant@0:         .word def               ; ff8c
etisserant@0:         .word def               ; ff8e
etisserant@0: 	
etisserant@0: 	;; MSCAN
etisserant@0:         .word can4HdlTra	; ff90 (MSCAN4 Transmit) 
etisserant@0:         .word can4HdlRcv	; ff92 (MSCAN4 Receive)  
etisserant@0:         .word can4HdlErr	; ff94 (MSCAN4 Errors)   
etisserant@0:         .word can4HdlWup	; ff96 (MSCAN4 Wake up)  
etisserant@0:         .word can3HdlTra	; ff98 (MSCAN3 Transmit) 
etisserant@0:         .word can3HdlRcv	; ff9a (MSCAN3 Receive)  
etisserant@0:         .word can3HdlErr	; ff9c (MSCAN3 Errors)   
etisserant@0:         .word can3HdlWup	; ff9e (MSCAN3 Wake up)  
etisserant@0:         .word can2HdlTra	; ffa0 (MSCAN2 Transmit) 
etisserant@0:         .word can2HdlRcv	; ffa2 (MSCAN2 Receive)  
etisserant@0:         .word can2HdlErr	; ffa4 (MSCAN2 Errors)   
etisserant@0:         .word can2HdlWup	; ffa6 (MSCAN2 Wake up)  
etisserant@0:         .word can1HdlTra	; ffa8 (MSCAN1 Transmit) 
etisserant@0:         .word can1HdlRcv	; ffaa (MSCAN1 Receive)  
etisserant@0:         .word can1HdlErr	; ffac (MSCAN1 Errors)   
etisserant@0:         .word can1HdlWup	; ffae (MSCAN1 Wake up)  
etisserant@0:         .word can0HdlTra	; ffb0 (MSCAN0 Transmit) 
etisserant@0: 	.word can0HdlRcv	; ffb2 (MSCAN0 Receive)  
etisserant@0:         .word can0HdlErr        ; ffb4 (MSCAN0 Errors)   
etisserant@0:         .word can0HdlWup        ; ffb6 (MSCAN0 Wake up)      
etisserant@0: 
etisserant@0:       	.word def               ; ffb8     
etisserant@0:         .word def               ; ffba 
etisserant@0:         .word def               ; ffbc
etisserant@0:         .word def               ; ffbe
etisserant@0: 
etisserant@0: 	.word def		; ffc0
etisserant@0: 	.word def		; ffc2
etisserant@0: 	.word def		; ffc4
etisserant@0: 	.word def		; ffc6
etisserant@0: 	.word def		; ffc8
etisserant@0: 	.word def          	; ffca (Modulus Down Counter underflow)
etisserant@0: 	.word def		; ffcc
etisserant@0: 	.word def		; ffce
etisserant@0: 	.word def		; ffd0
etisserant@0: 	.word def		; ffd2
etisserant@0: 	.word def		; ffd4
etisserant@0: 
etisserant@0: 	;; SCI
etisserant@0: 	.word def		; ffd6
etisserant@0: 
etisserant@0: 	;; SPI
etisserant@0: 	.word def						; ffd8
etisserant@0: 	.word def						; ffda (PAII)
etisserant@0: 	.word def						; ffdc (PAOVI)
etisserant@0: 	.word def						;ffde (TOI)
etisserant@0: 
etisserant@0: 	;; Timer Output Compare
etisserant@0: 	.word def		; ffe0 Timer Chanel 7
etisserant@0: 	.word def		; ffe2 Timer Chanel 6
etisserant@0: 	.word def		; ffe4 Timer Chanel 5
etisserant@0: 	.word timer4Hdl         ; ffe6 Timer Chanel 4 used by Canopen
etisserant@0: 	.word timer3Hdl		; ffe8 Timer Chanel 3 For the date
etisserant@0: 	.word def		; ffea Timer Chanel 2
etisserant@0: 	.word def		; ffec Timer Chanel 1
etisserant@0: 	.word def		; ffee Timer Chanel 0
etisserant@0: 
etisserant@0: 	;;  Misc
etisserant@0: 	.word def               ; fff0 (RTII)
etisserant@0: 	.word def		; fff2 (IRQ)
etisserant@0: 	.word def		; fff4 (XIRQ)
etisserant@0: 	.word def               ; fff6 (SWI)
etisserant@0: 	.word def		; fff8 (ILL)
etisserant@0: 	.word def               ; fffa (COP Failure)
etisserant@0: 	.word def		; fffc (COP Clock monitor)
etisserant@0: 	.word _start		; fffe (reset)
etisserant@0: