User manual
Monitor12 (MON12) User Manual 05/30/01
7
INTERRUPT VECTOR RAM TABLE
Pseudo Vector Number HC12 INTERRUPT VECTOR Vector ID
Or Table Offset
00 $FFC0 UNUSED VECTOR
02 $FFC2 PLL/ CGM LOCK
04 $FFC4 MSCAN TX
06 $FFC6 MSCAN RX
08 $FFC8 MSCAN ERROR
0A $FFCA PULSE ACC. B OVERFLOW
0C $FFCC MODULUS COUNTER
0E $FFCE PORT G/H KEY WAKE-UP
10 $FFD0 MSCAN WAKE-UP
12 $FFD2 ADC 0/1
14 $FFD4 SCI 1
16 $FFD6 SCI 0
18 $FFD8 SPI
1A $FFDA PULSE ACC. A INPUT
1C $FFDC PULSE ACC. A OVERFLOW
1E $FFDE TIMER OVERFLOW
20 $FFE0 TIMER 7
22 $FFE2 TIMER 6
24 $FFE4 TIMER 5
26 $FFE6 TIMER 4
28 $FFE8 TIMER 3
2A $FFEA TIMER 2
2C $FFEC TIMER 1
2E $FFEE TIMER 0
30 $FFF0 RTI
32 $FFF2 IRQ
34 $FFF4 XIRQ
36 $FFF6 SWI
38 $FFF8 TRAP
3A $FFFA COP
3C $FFFC CLM
3E $FFFE RESET, Not available to user.
To use vectors specified in the table, the user must insert the address of the
interrupt service routine during code initialization into the pseudo interrupt
table. For an example, for the IRQ vector, the following is performed:
Example: IRQ Service routine label = IRQ_SRV
Ram Vector Table address is defined – RIV_TBL EQU $600
Place IRQ service routine address in the table –
MOVW #IRQ_SRV,RIV_TBL+$32
After debug and the user application is to be programmed for stand alone
operation without the Monitor, the actual interrupt vector table should be added
and the ram vector table loading deleted.