📄 vectors.asm
字号:
;*******************************************************************************
; Module Name: Interrupt_Vectors
;******************************** GLOBALS **************************************
; E X T E R N A L D E F I N I T I O N S
;
; MODULE ENTRY POINT:
.def Interrupt_Vectors
;
; MODULO MEMORY
; NON-MODULO MEMORY
; CONSTANTS
; FLAGS
;
; E X T E R N A L R E F E R E N C E S
; .include ""
.mmregs
; SUBROUTINES CALLED
.ref _c_int00, _OSTickISR, _OSCtxSw;
; CONSTANTS
; MODULO MEMORY
; .bss ;used to declare uninitialized data memory
; ; syntax: .bss symbol_name,word_size,[blocking flag]
; .data ;used to declare initialized data memory
; NON MODULO MEMORY
; FLAGS
;********************************* LOCALS *************************************
; DEFINITIONS:
;
STACK_LEN .set 100
; MODULO MEMORY
; NON MODULO MEMORY
STACK .usect "STK",STACK_LEN ;
;********************************* BODY ***********************************
.sect ".vectors" ; We will want to move to an internal location --
; say 0x2000. Do this with the linker...
Interrupt_Vectors: ;
;
Reset_int: ;
stm #STACK+STACK_LEN,SP ;Reset vector vector (vector_base + 0x0)
b _c_int00 ;
NMI_int:
bd NMI_int ;Non-maskable Interrupt Vector (vector_base + 0x4)
nop ;
nop ;
SINT17: ;
;bd SINT17 ;Software Interrupt 17 Vector (vector_base + 0x8)
bd _OSCtxSw ; context switch
nop ;
nop ;
SINT18: ;
bd SINT18 ;Software Interrupt 18 Vector (vector_base + 0xC)
nop ;
nop ;
SINT19: ;
bd SINT19 ;Software Interrupt 19 Vector (vector_base + 0x10)
nop ;
nop ;
SINT20: ;
bd SINT20 ;Software Interrupt 20 Vector (vector_base + 0x14)
nop ;
nop ;
SINT21: ;
bd SINT21 ;Software Interrupt 21 Vector (vector_base + 0x18)
nop ;
nop ;
SINT22: ;
bd SINT22 ;Software Interrupt 22 Vector (vector_base + 0x1C)
nop ;
nop ;
SINT23: ;
bd SINT23 ;Software Interrupt 23 Vector (vector_base + 0x20)
nop ;
nop ;
SINT24: ;
bd SINT24 ;Software Interrupt 24 Vector (vector_base + 0x24)
nop ;
nop ;
SINT25: ;
bd SINT25 ;Software Interrupt 25 Vector (vector_base + 0x28)
nop ;
nop ;
SINT26: ;
bd SINT26 ;Software Interrupt 26 Vector (vector_base + 0x2C)
nop ;
nop ;
SINT27: ;
bd SINT27 ;Software Interrupt 27 Vector (vector_base + 0x30)
nop ;
nop ;
SINT28: ;
bd SINT28 ;Software Interrupt 28 Vector (vector_base + 0x34)
nop ;
nop ;
SINT29: ;
bd SINT29 ;Software Interrupt 29 Vector (vector_base + 0x38)
nop ;
nop ;
SINT30: ;
bd SINT30 ;Software Interrupt 30 Vector (vector_base + 0x3C)
nop ;
nop ;
DI_INT0: ;;rsbx INTM ;;;;;;;;;;;;
;b DI0_ISR ;bd DI0_ISR ;External Interrupt 0 Vector (vector_base + 0x40)
rete;
nop;
nop ; nop ;
nop
;;;nop ;
;
DMT_INT: ; rsbx INTM ;;;;;;;;;;;;
;b DMT_ISR ; bd DMT_ISR ;External Interrupt 1 Vector (vector_base + 0x44)
rete;
nop;
nop ; nop ;
nop
;;;nop ;
;
DI_ISR: ; bd DI_ISR ;External Interrupt 2 Vector (vector_base + 0x48)
rete ;
nop ;
nop ;
nop ;
;
Timer_INT: ;
;rete;bd Timer_INT ;Timer Interrupt Vector (vector_base + 0x4C)
nop;
call _OSTickISR ;
rete;
;nop;pshm ST0 ;
;nop;pshm ST1 ;
Ser0_RX_int: ;
bd Ser0_RX_int ;Serial Port 0 Receive Interupt Vector (vector_base + 0x50)
nop ;
nop ;
Ser0_TX_int: ;
bd Ser0_TX_int ;Serial Port 0 Transmit Interupt Vector (vector_base + 0x54)
nop ;
nop ;
Ser1_RX_int: ;
bd Ser1_RX_int ;Serial Port 1 Receive Interupt Vector (vector_base + 0x58)
nop ;
nop ;
Ser1_TX_int: ;
bd Ser1_TX_int ;Serial Port 1 Transmit Interupt Vector (vector_base + 0x5C)
nop ;
nop ;
Ext_int3: ;
bd Ext_int3 ;External Interupt 3 Vector (vector_base + 0x60)
nop ;
nop ;
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -