?? tcmp_int.asm
字號:
.global _TBASE_INT
.global _OSTimerTick
.def _TBASE_INT
.global _OSIntExit
.global _sT25ms_500ms
;************************************************************************************************
;T2CINT_ISR
; EVB Timer4 Output Compare interrupt, Period: 1ms use to generate Timer base and swicth Tasks.
; Because C compiler PUSH some unexpect registers on stack when enter this ISR routine so It
; must be written in Assembly.
;************************************************************************************************
_TBASE_INT:
ASP
PUSH DP:ST1
PUSH AR1H:AR0H
PUSH XAR2
PUSH XAR3
PUSH XAR4
PUSH XAR5
PUSH XAR6
PUSH XAR7
PUSH XT
PUSH RPC
LCR _OSTimerTick
;LCR _sT25ms_500ms
MOVL XAR2,#0x7506
MOV AL,*XAR2
ADD AL,#0x0494;
MOV *XAR2,AL
;EvaRegs.EVAIFRB.all = BIT1;
MOVL XAR2,#0x7530
MOVL ACC,*XAR2
OR ACC,#2
MOV *XAR2,ACC
;// Acknowledge interrupt to recieve more interrupts from PIE group 5
;PieCtrlRegs.PIEACK.all = PIEACK_GROUP5;
MOV AR2,#0x0CE1
MOV AL,*AR2
OR AL,#0x0010
MOV *AR2,AL
LCR _OSIntExit
POP RPC
POP XT
POP XAR7
POP XAR6
POP XAR5
POP XAR4
POP XAR3
POP XAR2
POP AR1H:AR0H
POP DP:ST1
NASP
IRET
;************************************************************************************************
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -