⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exceptions.c

📁 DEMOLL16_Lab_code使用资料
💻 C
📖 第 1 页 / 共 2 页
字号:
   case 24:
      VECTORDISPLAY3(MCF5XXX_EXCEPTFMT, "Spurious Interrupt", stackFramePC);
      break;
   case 25:
   case 26:
   case 27:
   case 28:
   case 29:
   case 30:
   case 31:
      VECTORDISPLAY2("Autovector interrupt level %d\n", stackFrameVector - 24);
      break;
   case 32:
   case 33:
   case 34:
   case 35:
   case 36:
   case 37:
   case 38:
   case 39:
   case 40:
   case 41:
   case 42:
   case 43:
   case 44:
   case 45:
   case 46:
   case 47:
      VECTORDISPLAY2("TRAP #%d\n", stackFrameVector - 32);
      break;
   case 5:
   case 6:
   case 7:
   case 13:
   case 16:
   case 17:
   case 18:
   case 19:
   case 20:
   case 21:
   case 22:
   case 23:
   case 48:
   case 49:
   case 50:
   case 51:
   case 52:
   case 53:
   case 54:
   case 55:
   case 56:
   case 57:
   case 58:
   case 59:
   case 60:
   case 61:
   case 62:
   case 63:
      VECTORDISPLAY2("Reserved: #%d\n", stackFrameVector);
      break;
   default:
      derivative_interrupt(stackFrameVector);
   break;
   }
}

#if REGISTER_ABI
asm void asm_exception_handler(void)
{
   link     a6,#0 
   lea     -20(sp), sp
   movem.l d0-d2/a0-a1, (sp)
   lea     24(sp),a0   /* A0 point to exception stack frame on the stack */
   jsr     mcf_exception_handler
   movem.l (sp), d0-d2/a0-a1
   lea     20(sp), sp
   unlk a6
   rte
}
#else
asm void asm_exception_handler(void)
{
   link     a6,#0 
   lea     -20(sp), sp
   movem.l d0-d2/a0-a1, (sp)
   pea     24(sp)   /* push exception frame address */
   jsr     mcf_exception_handler
   movem.l 4(sp), d0-d2/a0-a1
   lea     24(sp), sp
   unlk a6
   rte
}
#endif

typedef void (* vectorTableEntryType)(void);

/* CF V1 has 102 vector + SP_INIT in the vector table (103 entries)
*/  
__declspec(weak) vectorTableEntryType vector_0  @INITSP      = (vectorTableEntryType)&_SP_INIT;
__declspec(weak) vectorTableEntryType vector_1  @INITPC      = (vectorTableEntryType)&_startup;
__declspec(weak) vectorTableEntryType vector_2  @Vaccerr     = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_3  @Vadderr     = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_4  @Viinstr     = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_5  @Vdivz       = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_6  @VReserved6  = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_7  @VReserved7  = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_8  @Vprviol     = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_9  @Vtrace      = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_10 @Vunilaop    = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_11 @Vunilfop    = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_12 @Vdbgi       = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_13 @VReserved13 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_14 @Vferror     = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_15 @VReserved15 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_16 @VReserved16 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_17 @VReserved17 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_18 @VReserved18 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_19 @VReserved19 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_20 @VReserved20 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_21 @VReserved21 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_22 @VReserved22 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_23 @VReserved23 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_24 @Vspuri      = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_25 @VReserved25 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_26 @VReserved26 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_27 @VReserved27 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_28 @VReserved28 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_29 @VReserved29 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_30 @VReserved30 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_31 @VReserved31 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_32 @Vtrap0      = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_33 @Vtrap1      = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_34 @Vtrap2      = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_35 @Vtrap3      = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_36 @Vtrap4      = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_37 @Vtrap5      = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_38 @Vtrap6      = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_39 @Vtrap7      = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_40 @Vtrap8      = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_41 @Vtrap9      = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_42 @Vtrap10     = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_43 @Vtrap11     = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_44 @Vtrap12     = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_45 @Vtrap13     = asm_exception_handler;
#if CONSOLE_IO_SUPPORT
__declspec(weak) vectorTableEntryType vector_46 @Vtrap14     = TrapHandler_printf;
#else
__declspec(weak) vectorTableEntryType vector_46 @Vtrap14     = asm_exception_handler;
#endif
__declspec(weak) vectorTableEntryType vector_47 @Vtrap15     = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_48 @VReserved48 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_49 @VReserved49 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_50 @VReserved50 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_51 @VReserved51 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_52 @VReserved52 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_53 @VReserved53 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_54 @VReserved54 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_55 @VReserved55 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_56 @VReserved56 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_57 @VReserved57 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_58 @VReserved58 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_59 @VReserved59 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_60 @VReserved60 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_61 @VReserved61 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_62 @VReserved62 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_63 @VReserved63 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_64 @Virq        = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_65 @Vlvd        = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_66 @Vtpm1ch0    = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_67 @Vtpm1ch1    = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_68 @Vtpm1ch2    = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_69 @Vtpm1ovf    = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_70 @Vtpm2ch0    = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_71 @Vtpm2ch1    = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_72 @Vtpm2ch2    = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_73 @Vtpm2ovf    = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_74 @Vspi2       = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_75 @Vspi1       = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_76 @Vsci1err    = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_77 @Vsci1rx     = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_78 @Vsci1tx     = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_79 @Viicx       = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_80 @Vkeyboard   = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_81 @Vadc        = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_82 @Vacmpx      = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_83 @Vsci2err    = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_84 @Vsci2rx     = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_85 @Vsci2tx     = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_86 @Vrtc        = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_87 @Vtpm3ch0    = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_88 @Vtpm3ch1    = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_89 @Vtpm3ch2    = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_90 @Vtpm3ch3    = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_91 @Vtpm3ch4    = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_92 @Vtpm3ch5    = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_93 @Vtpm3ovf    = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_94 @VReserved94 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_95 @VReserved95 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_96 @VL7swi      = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_97 @VL6swi      = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_98 @VL5swi      = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_99 @VL4swi      = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_100 @VL3swi     = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_101 @VL2swi     = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_102 @VL1swi     = asm_exception_handler;

#ifdef __cplusplus
}
#endif


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -