//m6811v.h //the vektors of the 6811 in a structure //19940726/wjvg typedef _interrupt (*VECTOR)(); //interrupt-vectors struct svector { VECTOR v_sci; //serial communication interface VECTOR v_spi; //serial peripheral interface VECTOR v_paie; //pulse accum input edge VECTOR v_pao; //pulse accum overflow VECTOR v_tof; //timer overflow VECTOR v_toc5; //timer IC4/OC5 VECTOR v_toc4; //timer output compare 4 VECTOR v_toc3; //timer output compare 3 VECTOR v_toc2; //timer output compare 2 VECTOR v_toc1; //timer output compare 1 VECTOR v_tic3; //timer input capture 3 VECTOR v_tic2; //timer input capture 2 VECTOR v_tic1; //timer input capture 1 VECTOR v_rti; //real time interrupt VECTOR v_irq; //IRQ - external pin VECTOR v_xirq; //XIRQ - external pin, pseudo-nonmaskable VECTOR v_swi; //software interrupt VECTOR v_illop; //illegal opcode trap VECTOR v_cop; //COP failure (reset) VECTOR v_clm; //clock monitor fail (reset) VECTOR v_rst; //reset }; #if INCLUDE_VECTORS //add vectors? _interrupt int_sci (); //serial communication interface _interrupt int_spi (); //serial peripheral interface _interrupt int_paie (); //pulse accum input edge _interrupt int_pao (); //pulse accum overflow _interrupt int_tof (); //timer overflow _interrupt int_toc5 (); //timer IC4/OC5 _interrupt int_toc4 (); //timer output compare 4 _interrupt int_toc3 (); //timer output compare 3 _interrupt int_toc2 (); //timer output compare 2 _interrupt int_toc1 (); //timer output compare 1 _interrupt int_tic3 (); //timer input capture 3 _interrupt int_tic2 (); //timer input capture 2 _interrupt int_tic1 (); //timer input capture 1 _interrupt int_rti (); //real time interrupt _interrupt int_irq (); //IRQ - external pin _interrupt int_xirq (); //XIRQ - external pin, pseudo-nonmaskable _interrupt int_swi (); //software interrupt _interrupt int_illop(); //illegal opcode trap _interrupt int_cop (); //COP failure (reset) _interrupt int_clm (); //clock monitor fail (reset) _interrupt int_rst (); //reset #asm vector //put in this space rpt 0 //skip next data-statement #endasm //this structure is normally on 0xffd6 and further struct svector Svectors={ int_sci, //serial communication interface int_spi, //serial peripheral interface int_paie, //pulse accum input edge int_pao, //pulse accum overflow int_tof, //timer overflow int_toc5, //timer IC4/OC5 int_toc4, //timer output compare 4 int_toc3, //timer output compare 3 int_toc2, //timer output compare 2 int_toc1, //timer output compare 1 int_tic3, //timer input capture 3 int_tic2, //timer input capture 2 int_tic1, //timer input capture 1 int_rti, //real time interrupt int_irq, //IRQ - external pin int_xirq, //XIRQ - external pin, pseudo-nonmaskable int_swi, //software interrupt int_illop, //illegal opcode trap int_cop, //COP failure (reset) int_clm, //clock monitor fail (reset) int_rst //reset }; #asm code #endasm #endif //end