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

📄 3d_isr_asm.src

📁 WinCE5.0BSP for Renesas SH7770
💻 SRC
字号:
;
;   Copyright(C) Renesas Technology Corp. 2003-2004. All rights reserved.
;
;   NK Kernel for ITS-DS7 Ver.1.0.0
;
;   FILE      : 3d_isr_asm.src
;   CREATED   : 2003.06.20
;   MODIFIED  : 2004.09.01
;   AUTHOR    : Renesas Technology Corp.
;   HARDWARE  : RENESAS ITS-DS7
;   HISTORY   : 
;               2003.06.20
;               - Created release code.
;               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 __3D_ISR

;-------------------------------------------------------
; DEBUG LED
;
;    mov.l   #h'50, r2				; 'P'
;    mov.l   #LED_ALPHA, r3
;    mov.b   r2, @r3
;    add     #LED_ALPHA_STRIDE, r3
;    mov.b   r2, @r3
;    add     #LED_ALPHA_STRIDE, r3
;    mov.b   r2, @r3
;    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:

    mov.l   #INTC2MSKRG, r0
    mov.l   #INTC2MSKRG_3D, r1
    mov.l   r1, @r0
    mov.l   @r0, r1				; Coherency measures

    rts
    mov     #SYSINTR_3DG, r0
    ENTRY_END

    .end

⌨️ 快捷键说明

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