?? vectors.asm
字號:
*---------vectors.asm---------
*
* Assembly file to set up interrupt service table (IST)
*
*------------------------------------------------------------------------------
* Global symbols defined here and exported out of this file
*------------------------------------------------------------------------------
.global _vectors
.global _c_int00
.global _vector1
.global _vector2
.global _vector3
.global _vector4
.global _vector5
.global _EMACInterruptISR
.global _vector7
.global _vector8
.global _vector9
.global _vector10
.global _vector11
.global _vector12
.global _vector13
.global _vector14
.global __Timer1
.global _vector16
.global _vector17
.global _vector18
.global _vector19
.global _vector20
.global _vector21
.global _vector22
.global _vector23
.global _vector24
*------------------------------------------------------------------------------
* Global symbols referenced in this file but defined somewhere else.
* Remember that your interrupt service routines need to be referenced here.
*------------------------------------------------------------------------------
.ref _c_int00
;.ref _edmaIsr
;.ref _vpIsr
.ref _EMACInterruptISR
.ref _Timer1
*------------------------------------------------------------------------------
* This is a macro that instantiates one entry in the interrupt service table.
*------------------------------------------------------------------------------
VEC_ENTRY .macro addr
STW B0,*--B15
MVKL addr,B0
MVKH addr,B0
B B0
LDW *B15++,B0
NOP 2
NOP
NOP
.endm
*------------------------------------------------------------------------------
* This is a dummy interrupt service routine used to initialize the IST.
*------------------------------------------------------------------------------
_vec_dummy:
B B3
NOP 5
*------------------------------------------------------------------------------
* This is the actual interrupt service table (IST). It is properly aligned and
* is located in the subsection .text:vecs. This means if you don't explicitly
* specify this section in your linker command file, it will default and link
* into the .text section. Remember to set the ISTP register to point to this
* table.
*------------------------------------------------------------------------------
.sect ".text:vecs"
.align 1024
_vectors:
_vector0: VEC_ENTRY _c_int00 ;RESET
_vector1: VEC_ENTRY _vec_dummy ;NMI
_vector2: VEC_ENTRY _vec_dummy ;RSVD
_vector3: VEC_ENTRY _vec_dummy
_vector4: VEC_ENTRY _vec_dummy
_vector5: VEC_ENTRY _vec_dummy
_vector6: VEC_ENTRY _EMACInterruptISR
_vector7: VEC_ENTRY _vec_dummy
_vector8: VEC_ENTRY _vec_dummy ;EDMA ISR
_vector9: VEC_ENTRY _vec_dummy
_vector10: VEC_ENTRY _vec_dummy
_vector11: VEC_ENTRY _vec_dummy
_vector12: VEC_ENTRY _vec_dummy ;Video port ISR
_vector13: VEC_ENTRY _vec_dummy
_vector14: VEC_ENTRY _vec_dummy
_vector15: VEC_ENTRY _Timer1
_vector16: VEC_ENTRY _vec_dummy
_vector17: VEC_ENTRY _vec_dummy
_vector18: VEC_ENTRY _vec_dummy
_vector19: VEC_ENTRY _vec_dummy
_vector20: VEC_ENTRY _vec_dummy
_vector21: VEC_ENTRY _vec_dummy
_vector22: VEC_ENTRY _vec_dummy
_vector23: VEC_ENTRY _vec_dummy
_vector24: VEC_ENTRY _vec_dummy
*------------------------------------------------------------------------------
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -