/************************************************************************************* * TRAP PRIORITY III, RESET FUNCTIONS: * * -> Hardware Reset, Trap-Nummer: 00H, Vector: 00'0000 H * * -> Software Reset, Trap-Nummer: 00H, Vector: 00'0000 H * * -> Watchdog Timer Overflow, Trap-Nummer: 00H, Vector: 00'0000 H * ************************************************************************************** * TRAP PRIORITY II, CLASS A HARDWARE TRAPS: * * -> Non-Maskable Interrupt Trap-Nummer: 02H, Vector: 00'0008 H * * -> Stack Overflow, Trap-Nummer: 04H, Vector: 00'0010 H * * -> Stack Underflow, Trap-Nummer: 06H, Vector: 00'0018 H * ************************************************************************************** * TRAP PRIORITY I, CLASS B HARDWARE TRAPS: * * -> Undefined Opcode, Trap-Nummer: 0AH, Vector: 00'0028 H * * -> Protected Instruction Fault, Trap-Nummer: 0AH, Vector: 00'0028 H * * -> Illegal Word Operand Access, Trap-Nummer: 0AH, Vector: 00'0028 H * * -> Illegal Instruction Access, Trap-Nummer: 0AH, Vector: 00'0028 H * * -> Illegal External Bus Access, Trap-Nummer: 0AH, Vector: 00'0028 H * *************************************************************************************/ #include #define NMITRAP 0x02 #define STOTRAP 0x04 #define STUTRAP 0x06 #define BTRAP 0x0A void hardware_trap_a_nmi (void) interrupt NMITRAP { _trap_(0); // SRST...Software Reset } void hardware_trap_a_stkof (void) interrupt STOTRAP { _trap_(0); // SRST...Software Reset } void hardware_trap_a_stkuf (void) interrupt STUTRAP { _trap_(0); // SRST...Software Reset } void hardware_trap_b (void) interrupt BTRAP { _trap_(0); // SRST...Software Reset }