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

📄 dss_isr.asm

📁 Using DSP/BIOS I/O in Multichannel Systems
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;******************************************************************************
;* TMS320C6x ANSI C Codegen                                      Version 4.00 *
;* Date/Time created: Fri Sep 15 10:24:29 2000                                *
;******************************************************************************

;******************************************************************************
;* GLOBAL FILE PARAMETERS                                                     *
;*                                                                            *
;*   Architecture      : TMS320C620x                                          *
;*   Optimization      : Enabled at level 1                                   *
;*   Optimizing for    : Compile time 1st, speed 2nd                          *
;*                       Based on options: -o1, no -ms                        *
;*   Endian            : Little                                               *
;*   Interrupt Thrshld : Disabled                                             *
;*   Memory Model      : Small                                                *
;*   Calls to RTS      : Near                                                 *
;*   Pipelining        : Disabled                                             *
;*   Memory Aliases    : Presume not aliases (optimistic)                     *
;*   Debug Info        : Debug                                                *
;*                                                                            *
;******************************************************************************

FP	.set	A15
DP	.set	B14
SP	.set	B15
	.global	$bss

;	opt6x -t -h2 -s -O1 c:\windows\TEMP\TI559941_2 c:\windows\TEMP\TI559941_4 -w c:/ti/myprojects/spra689/examples/evm/examples/pip/pip1 
	.file	"dss_isr.c"
	.file	"C:\ti\c6000\bios\include\std.h"
	.file	"C:\ti\c6000\bios\include\swi.h"
	.file	"C:\ti\c6000\bios\include\log.h"
	.file	"C:\ti\c6000\bios\include\trc.h"
	.sym	_Uns, 0, 14, 13, 32
	.file	"C:\ti\c6000\bios\include\log.h"
	.stag	_LOG_Obj, 0
	.eos
	.sym	_LOG_Handle, 0, 24, 13, 32,_LOG_Obj
	.sym	_Int, 0, 4, 13, 32
	.sym	_Arg, 0, 4, 13, 32
	.file	"dss_isr.h"
	.file	"dss_isr.c"
	.stag	_SWI_Obj, 0
	.eos
	.sym	_SWI_Obj, 0, 8, 13, 0,_SWI_Obj
	.file	"C:\ti\c6000\bios\include\log.h"
	.file	"dss_isr.c"
	.bss	_rxBuf,8,4
	.sym	_rxBuf,_rxBuf, 125, 3, 64,, 2
	.bss	_txBuf,8,4
	.sym	_txBuf,_txBuf, 125, 3, 64,, 2
	.global	_dss_isr_swi
_dss_isr_swi:	.usect	.far,8,4
	.sym	_dss_isr_swi,_dss_isr_swi, 120, 2, 64, _SWI_Obj, 2
	.global	_dss_isr_rxPtr
	.bss	_dss_isr_rxPtr,8,4
	.sym	_dss_isr_rxPtr,_dss_isr_rxPtr, 125, 2, 64,, 2
	.global	_dss_isr_rxCnt
	.bss	_dss_isr_rxCnt,8,4
	.sym	_dss_isr_rxCnt,_dss_isr_rxCnt, 52, 2, 64,, 2
	.global	_dss_isr_txPtr
	.bss	_dss_isr_txPtr,8,4
	.sym	_dss_isr_txPtr,_dss_isr_txPtr, 125, 2, 64,, 2
	.global	_dss_isr_txCnt
	.bss	_dss_isr_txCnt,8,4
	.sym	_dss_isr_txCnt,_dss_isr_txCnt, 52, 2, 64,, 2
	.sect	".text"
	.global	_dss_isr_init
	.sym	_dss_isr_init,_dss_isr_init, 32, 2, 0
	.func	79

;******************************************************************************
;* FUNCTION NAME: _dss_isr_init                                               *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,SP                                      *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,DP,SP                                   *
;*   Local Frame Size  : 0 Args + 0 Auto + 4 Save = 4 byte                    *
;******************************************************************************
_dss_isr_init:
;** --------------------------------------------------------------------------*
	.sym	C$1,20, 4, 4, 32
;** 82	-----------------------    dss_isr_rxCnt[1] = C$1 = 0;
;** 82	-----------------------    dss_isr_rxCnt[0] = C$1;
;** 83	-----------------------    dss_isr_txCnt[1] = C$1;
;** 83	-----------------------    dss_isr_txCnt[0] = C$1;
;** 86	-----------------------    dss_isr_init_platform();
;** 86	-----------------------    return;
           STW     .D2T2   B3,*SP--(8)       ; |79| 
	.line	4
           ZERO    .L2     B4                ; |82| 
           STW     .D2T2   B4,*+DP(_dss_isr_rxCnt+4) ; |82| 
           STW     .D2T2   B4,*+DP(_dss_isr_rxCnt) ; |82| 
	.line	5
           STW     .D2T2   B4,*+DP(_dss_isr_txCnt+4) ; |83| 
           STW     .D2T2   B4,*+DP(_dss_isr_txCnt) ; |83| 
	.line	8
           B       .S1     _dss_isr_init_platform ; |86| 
           MVKL    .S2     RL0,B3            ; |86| 
           MVKH    .S2     RL0,B3            ; |86| 
           NOP             3
RL0:       ; CALL OCCURS                     ; |86| 
	.line	9
           LDW     .D2T2   *++SP(8),B3       ; |87| 
           NOP             4
           B       .S2     B3                ; |87| 
           NOP             5
           ; BRANCH OCCURS                   ; |87| 
	.endfunc	87,000080000h,8


	.sect	".text"
	.global	_dss_isr_set_rxBuf_n
	.sym	_dss_isr_set_rxBuf_n,_dss_isr_set_rxBuf_n, 32, 2, 0
	.func	94

;******************************************************************************
;* FUNCTION NAME: _dss_isr_set_rxBuf_n                                        *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,B0,B1,B2,B3,B4,B5, *
;*                           B6,B7,B8,B9,B10,B11,SP                           *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,B0,B1,B2,B3,B4,B5, *
;*                           B6,B7,B8,B9,B10,B11,DP,SP                        *
;*   Local Frame Size  : 0 Args + 0 Auto + 16 Save = 16 byte                  *
;******************************************************************************
_dss_isr_set_rxBuf_n:
;** --------------------------------------------------------------------------*
	.sym	_ptr,4, 29, 17, 32
	.sym	_size,20, 4, 17, 32
	.sym	_chan,6, 4, 17, 32
	.sym	_ptr,27, 29, 4, 32
	.sym	_size,26, 4, 4, 32
	.sym	_chan,10, 4, 4, 32
;** 101	-----------------------    if ( chan ) goto g3;
           STW     .D2T2   B11,*SP--(16)     ; |94| 
           STW     .D2T1   A10,*+SP(4)       ; |94| 
           STW     .D2T2   B3,*+SP(8)        ; |94| 
           STW     .D2T2   B10,*+SP(12)      ; |94| 
	.line	2

           MV      .L2X    A4,B11            ; 
||         MV      .S2     B4,B10            ; 

	.line	8
           MV      .L1     A6,A1             ; 
   [ A1]   B       .S1     L1                ; |101| 
           MV      .L1     A6,A10            ; 
           NOP             4
           ; BRANCH OCCURS                   ; |101| 
;** --------------------------------------------------------------------------*
;** 102	-----------------------    if ( TRC_query(49152u) ) goto g5;
	.line	9
           B       .S1     _TRC_query        ; |102| 
           MVKL    .S2     RL2,B3            ; |102| 
           ZERO    .L1     A0                ; |102| 
           MVKH    .S2     RL2,B3            ; |102| 
           SET     .S1     A0,0xe,0xf,A4     ; |102| 
           NOP             1
RL2:       ; CALL OCCURS                     ; |102| 
           MV      .L1     A4,A1             ; |102| 
   [ A1]   B       .S1     L2                ; |102| 
           NOP             5
           ; BRANCH OCCURS                   ; |102| 
;** --------------------------------------------------------------------------*
;** 102	-----------------------    LOG_event(LOG_D_system, size, (int)"Setting rx buffer for channel 0, size %d", 8);
;** 102	-----------------------    goto g5;
           B       .S1     _LOG_event        ; |102| 
           LDW     .D2T1   *+DP(_LOG_D_system),A4 ; |102| 
           MVKL    .S2     RL4,B3            ; |102| 
           MVK     .S2     0x8,B6            ; |102| 
           MVKL    .S1     SL1+0,A6          ; |102| 

           MVKH    .S1     SL1+0,A6          ; |102| 
||         MVKH    .S2     RL4,B3            ; |102| 
||         MV      .L2     B10,B4            ; |102| 

RL4:       ; CALL OCCURS                     ; |102| 
           B       .S1     L2                ; |102| 
           NOP             5
           ; BRANCH OCCURS                   ; |102| 
;** --------------------------------------------------------------------------*
L1:    
;**	-----------------------g3:
;** 104	-----------------------    if ( TRC_query(49152u) ) goto g5;
	.line	11
           B       .S1     _TRC_query        ; |104| 
           MVKL    .S2     RL6,B3            ; |104| 
           ZERO    .L1     A0                ; |104| 
           MVKH    .S2     RL6,B3            ; |104| 
           SET     .S1     A0,0xe,0xf,A4     ; |104| 
           NOP             1
RL6:       ; CALL OCCURS                     ; |104| 
           MV      .L1     A4,A1             ; |104| 
   [ A1]   B       .S1     L2                ; |104| 
           NOP             5
           ; BRANCH OCCURS                   ; |104| 
;** --------------------------------------------------------------------------*
;** 104	-----------------------    LOG_event(LOG_D_system, size, (int)"Setting rx buffer for channel 1, size %d", 8);
           B       .S1     _LOG_event        ; |104| 
           LDW     .D2T1   *+DP(_LOG_D_system),A4 ; |104| 
           MVKL    .S2     RL8,B3            ; |104| 
           MVK     .S2     0x8,B6            ; |104| 
           MVKL    .S1     SL2+0,A6          ; |104| 

           MVKH    .S1     SL2+0,A6          ; |104| 
||         MVKH    .S2     RL8,B3            ; |104| 
||         MV      .L2     B10,B4            ; |104| 

RL8:       ; CALL OCCURS                     ; |104| 
;** --------------------------------------------------------------------------*
L2:    
;**	-----------------------g5:
;** 107	-----------------------    rxBuf[chan] = ptr;
;** 108	-----------------------    dss_isr_rxPtr[chan] = ptr;
;** 109	-----------------------    dss_isr_rxCnt[chan] = size;
;** 109	-----------------------    return;
	.line	14
           MVK     .S2     (_rxBuf-$bss),B5  ; |107| 

           ADD     .L2     DP,B5,B5          ; |107| 
||         MV      .S2X    A10,B4            ; |107| 

           STW     .D2T2   B11,*+B5[B4]      ; |107| 
	.line	15
           MVK     .S2     (_dss_isr_rxPtr-$bss),B5 ; |108| 
           ADD     .L2     DP,B5,B5          ; |108| 
           STW     .D2T2   B11,*+B5[B4]      ; |108| 
	.line	16
           MVK     .S2     (_dss_isr_rxCnt-$bss),B5 ; |109| 
           ADD     .L2     DP,B5,B5          ; |109| 
           STW     .D2T2   B10,*+B5[B4]      ; |109| 
	.line	17
           LDW     .D2T2   *+SP(8),B3        ; |110| 
           LDW     .D2T1   *+SP(4),A10       ; |110| 
           LDW     .D2T2   *+SP(12),B10      ; |110| 
           LDW     .D2T2   *++SP(16),B11     ; |110| 
           NOP             1
           B       .S2     B3                ; |110| 
           NOP             5
           ; BRANCH OCCURS                   ; |110| 
	.endfunc	110,00c080400h,16


	.sect	".text"
	.global	_dss_isr_get_rxBuf_n
	.sym	_dss_isr_get_rxBuf_n,_dss_isr_get_rxBuf_n, 109, 2, 0
	.func	116

;******************************************************************************
;* FUNCTION NAME: _dss_isr_get_rxBuf_n                                        *
;*                                                                            *
;*   Regs Modified     : A4,B4,B5                                             *
;*   Regs Used         : A4,B3,B4,B5,DP                                       *
;*   Local Frame Size  : 0 Args + 0 Auto + 0 Save = 0 byte                    *
;******************************************************************************
_dss_isr_get_rxBuf_n:
;** --------------------------------------------------------------------------*
	.sym	_chan,4, 4, 17, 32
	.sym	_chan,21, 4, 4, 32
;** 118	-----------------------    return rxBuf[chan];
	.line	2
           MV      .L2X    A4,B5             ; |117| 
	.line	3
           MVK     .S2     (_rxBuf-$bss),B4  ; |118| 
           ADD     .L2     DP,B4,B4          ; |118| 
           LDW     .D2T1   *+B4[B5],A4       ; |118| 
	.line	4
           B       .S2     B3                ; |119| 
           NOP             5
           ; BRANCH OCCURS                   ; |119| 
	.endfunc	119,000000000h,0

⌨️ 快捷键说明

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