📄 atapi_isr_asm.src
字号:
;
; Copyright(C) Renesas Technology Corp. 2002-2004. All rights reserved.
;
; NK Kernel for ITS-DS7 Ver.1.0.0
;
; FILE : atapi_isr_asm.src
; CREATED : 2002.04.25
; MODIFIED : 2004.09.01
; AUTHOR : Renesas Technology Corp.
; HARDWARE : RENESAS ITS-DS7
; HISTORY :
; 2003.06.20
; - Created release code.
; (based on RENESAS ITS-DS4 Source Kit Ver.1.2.0 for WCE4.2)
; 2004.09.01
; - Created release code for WCE5.0.
.include "kxshx.h"
.include "sh4a.inc"
.include "oalintr.inc"
.include "platform.inc"
.include "sh7770.inc"
.import _wNumInterrupts
.import _dwSPC
.import _dwIsrTime1
.import _fIntrTime
LEAF_ENTRY _ATAPI_ISR
;-------------------------------------------------------
; DEBUG LED
;
; mov.l #h'41, r2 ; 'A'
; mov.l #LED_ALPHA, r3
; mov.b r2, @r3
; mov.l #h'54, r2 ; 'T'
; add #LED_ALPHA_STRIDE, r3
; mov.b r2, @r3
; mov.l #h'50, r2 ; 'P'
; add #LED_ALPHA_STRIDE, r3
; mov.b r2, @r3
; mov.l #h'49, r2 ; 'I'
; add #LED_ALPHA_STRIDE, r3
; mov.b r2, @r3
;-------------------------------------------------------
;-------------------------------------------------------
; Check for IntrTime measurements (COMMON)
;
mov #_fIntrTime, r1 ; (r1) = ptr to fIntrTime gate
mov @r1, r6 ; (r6) = fIntrTime
tst r6, r6
bt skip_isrtime1
;-------------------------------------------------------
; Get ISR latency and saved program counter (INTRTIME)
;
mov #SH7770_TMU012_REGBASE, r2
mov.l @(TMU_TCOR0_OFFSET, r2), r0 ; (r0) = Timer 0 constant
mov.l @(TMU_TCNT0_OFFSET, r2), r2 ; (r2) = Timer 0 count
sub r2, r0 ; (r0) = Constant - count (ticks elapsed)
mov #_dwIsrTime1, r1
mov r0, @r1 ; dwIsrTime1 = (r0)
stc spc, r0
mov #_dwSPC, r1
mov.l r0, @r1 ; Save Program Counter
mov #_wNumInterrupts, r0 ; (r0) = addr of interrupt counter
mov @r0, r1 ; (r1) = interrupt counter
add #1, r1 ; Increment counter
mov r1, @r0 ; Save interrupt counter
skip_isrtime1:
; Disable ATAPI Interrupt
; ATAPI Interrupt bit Mask
mov.l #INTC2MSKRG, r0
mov.l #INTC2MSKRG_ATAPI, r1
mov.l r1, @r0
mov.l @r0, r1 ; Coherency measures
rts
mov #SYSINTR_ATAPI, r0
ENTRY_END
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -