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

📄 echo.asm

📁 Using DSP/BIOS I/O in Multichannel Systems
💻 ASM
📖 第 1 页 / 共 3 页
字号:
;******************************************************************************
;* TMS320C6x ANSI C Codegen                                      Version 4.00 *
;* Date/Time created: Fri Sep 15 10:24:19 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\TI443409_2 c:\windows\TEMP\TI443409_4 -w c:/ti/myprojects/spra689/examples/evm/examples/pip/pip1 
	.file	"echo.c"
	.file	"C:\ti\c6000\bios\include\std.h"
	.file	"C:\ti\c6000\bios\include\log.h"
	.file	"C:\ti\c6000\bios\include\fxn.h"
	.file	"C:\ti\c6000\bios\include\sts.h"
	.file	"C:\ti\c6000\bios\include\pip.h"
	.file	"echo.c"
	.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	"C:\ti\c6000\bios\include\pip.h"
	.stag	_PIP_Obj, 800
	.member	_threshold, 0, 14, 8, 32
	.member	_preaderTakeProbe, 32, 24, 8, 32, _PIP_Obj
	.member	_readerAddr, 64, 16, 8, 32
	.member	_readerSize, 96, 14, 8, 32
	.member	_readerCurdesc, 128, 16, 8, 32
	.member	_pnotifyReader, 160, 24, 8, 32, _FXN_Obj
	.member	_readerNumFrames, 192, 14, 8, 32
	.member	_preaderGiveProbe, 224, 24, 8, 32, _PIP_Obj
	.member	_pwriterNumFrames, 256, 30, 8, 32
	.member	_notifyWriter, 288, 8, 8, 96, _FXN_Obj
	.member	_preaderSts, 384, 24, 8, 32, _STS_Obj
	.member	_pwriterTakeProbe, 416, 24, 8, 32, _PIP_Obj
	.member	_writerAddr, 448, 16, 8, 32
	.member	_writerSize, 480, 14, 8, 32
	.member	_writerCurdesc, 512, 16, 8, 32
	.member	_pnotifyWriter, 544, 24, 8, 32, _FXN_Obj
	.member	_writerNumFrames, 576, 14, 8, 32
	.member	_pwriterGiveProbe, 608, 24, 8, 32, _PIP_Obj
	.member	_preaderNumFrames, 640, 30, 8, 32
	.member	_notifyReader, 672, 8, 8, 96, _FXN_Obj
	.member	_pwriterSts, 768, 24, 8, 32, _STS_Obj
	.eos
	.sym	_PIP_Obj, 0, 8, 13, 800,_PIP_Obj
	.sym	_Ptr, 0, 16, 13, 32
	.stag	_FXN_Obj, 96
	.member	_fxn, 0, 148, 8, 32
	.member	_arg1, 32, 14, 8, 32
	.member	_arg0, 64, 14, 8, 32
	.eos
	.sym	_Fxn, 0, 148, 13, 32
	.sym	_FXN_Obj, 0, 8, 13, 96,_FXN_Obj
	.stag	_STS_Obj, 0
	.eos
	.sym	_STS_Obj, 0, 8, 13, 0,_STS_Obj
	.sym	_PIP_Handle, 0, 24, 13, 32,_PIP_Obj
	.file	"/ti/myprojects/spra689/examples/evm/driver/pip-driver/dss.h"
	.file	"echo.c"
	.file	"C:\ti\c6000\bios\include\log.h"
	.file	"/ti/myprojects/spra689/examples/evm/driver/pip-driver/dss.h"
	.file	"echo.c"
	.stag	_dataChannel, 96
	.member	_rxPip, 0, 24, 8, 32, _PIP_Obj
	.member	_txPip, 32, 24, 8, 32, _PIP_Obj
	.member	_procLoad, 64, 4, 8, 32
	.eos
	.global	_audioChannel
	.bss	_audioChannel,24,4
	.sym	_audioChannel,_audioChannel, 56, 2, 192, _dataChannel, 2
	.sect	".text"
	.global	_getInputBuf
	.sym	_getInputBuf,_getInputBuf, 45, 2, 0
	.func	84

;******************************************************************************
;* FUNCTION NAME: _getInputBuf                                                *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,B10,B11,B12,SP                          *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,B10,B11,B12,DP,SP                       *
;*   Local Frame Size  : 0 Args + 0 Auto + 16 Save = 16 byte                  *
;******************************************************************************
_getInputBuf:
;** --------------------------------------------------------------------------*
	.sym	_aPip,4, 24, 17, 32, _PIP_Obj
	.sym	_bufAddr,20, 80, 17, 32
	.sym	_bufSize,6, 94, 17, 32
	.sym	_aPip,26, 24, 4, 32, _PIP_Obj
	.sym	_bufAddr,28, 80, 4, 32
	.sym	_bufSize,27, 94, 4, 32
;** 86	-----------------------    if ( aPip->readerNumFrames ) goto g2;
           STW     .D2T2   B12,*SP--(16)     ; |84| 
           STW     .D2T2   B3,*+SP(4)        ; |84| 
           STW     .D2T2   B10,*+SP(8)       ; |84| 
           STW     .D2T2   B11,*+SP(12)      ; |84| 
	.line	2
           MV      .L2X    A4,B10            ; 

           MV      .L2     B4,B12            ; 
||         MV      .S2X    A6,B11            ; 

	.line	3
           LDW     .D2T2   *+B10(24),B0      ; |86| 
           NOP             4
   [ B0]   B       .S1     L1                ; |86| 
           NOP             5
           ; BRANCH OCCURS                   ; |86| 
;** --------------------------------------------------------------------------*
;** 87	-----------------------    LOG_event(LOG_D_system, (int)aPip, (int)"getInputBuf: no frames on inPip 0x%x", 9);
;** 88	-----------------------    return 0u;
	.line	4
           B       .S1     _LOG_event        ; |87| 
           LDW     .D2T1   *+DP(_LOG_D_system),A4 ; |87| 
           MVKL    .S2     RL0,B3            ; |87| 
           MVK     .S2     0x9,B6            ; |87| 
           MVKL    .S1     SL1+0,A6          ; |87| 

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

RL0:       ; CALL OCCURS                     ; |87| 
	.line	5
           B       .S1     L3                ; |88| 
           ZERO    .L1     A4                ; |88| 
           NOP             4
           ; BRANCH OCCURS                   ; |88| 
;** --------------------------------------------------------------------------*
L1:    
;**	-----------------------g2:
;** 91	-----------------------    if ( TRC_query(49152u) ) goto g4;
	.line	8
           B       .S1     _TRC_query        ; |91| 
           MVKL    .S2     RL2,B3            ; |91| 
           ZERO    .L1     A0                ; |91| 
           MVKH    .S2     RL2,B3            ; |91| 
           SET     .S1     A0,0xe,0xf,A4     ; |91| 
           NOP             1
RL2:       ; CALL OCCURS                     ; |91| 
           MV      .L1     A4,A1             ; |91| 
   [ A1]   B       .S1     L2                ; |91| 
           NOP             5
           ; BRANCH OCCURS                   ; |91| 
;** --------------------------------------------------------------------------*
;** 91	-----------------------    LOG_event(LOG_D_system, (int)aPip, (int)"getInputBuf calling PIP_get for PIP 0x%x", 8);
           B       .S1     _LOG_event        ; |91| 
           LDW     .D2T1   *+DP(_LOG_D_system),A4 ; |91| 
           MVKL    .S2     RL4,B3            ; |91| 
           MVK     .S2     0x8,B6            ; |91| 
           MVKL    .S1     SL2+0,A6          ; |91| 

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

RL4:       ; CALL OCCURS                     ; |91| 
;** --------------------------------------------------------------------------*
L2:    
;**	-----------------------g4:
;** 92	-----------------------    PIP_get(aPip);
;** 92	-----------------------    *bufAddr = aPip->readerAddr;
;** 95	-----------------------    *bufSize = &aPip->readerSize;
;** 96	-----------------------    return 1u;
	.line	9
           B       .S1     _PIP_get          ; |92| 
           MVKL    .S2     RL6,B3            ; |92| 
           MVKH    .S2     RL6,B3            ; |92| 
           MV      .L1X    B10,A4            ; |92| 
           NOP             2
RL6:       ; CALL OCCURS                     ; |92| 
           LDW     .D2T2   *+B10(8),B4       ; |92| 
           NOP             4
           STW     .D2T2   B4,*B12           ; |92| 
	.line	12
           ADD     .L2     12,B10,B4         ; |95| 
           STW     .D2T2   B4,*B11           ; |95| 
	.line	13
           MVK     .S1     0x1,A4            ; |96| 
;** --------------------------------------------------------------------------*
L3:    
	.line	14
           LDW     .D2T2   *+SP(4),B3        ; |97| 
           LDW     .D2T2   *+SP(8),B10       ; |97| 
           LDW     .D2T2   *+SP(12),B11      ; |97| 
           LDW     .D2T2   *++SP(16),B12     ; |97| 
           NOP             1
           B       .S2     B3                ; |97| 
           NOP             5
           ; BRANCH OCCURS                   ; |97| 
	.endfunc	97,01c080000h,16


	.sect	".text"
	.global	_getOutputBuf
	.sym	_getOutputBuf,_getOutputBuf, 45, 2, 0
	.func	99

;******************************************************************************
;* FUNCTION NAME: _getOutputBuf                                               *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,B10,B11,B12,SP                          *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,B10,B11,B12,DP,SP                       *
;*   Local Frame Size  : 0 Args + 0 Auto + 16 Save = 16 byte                  *
;******************************************************************************
_getOutputBuf:
;** --------------------------------------------------------------------------*

⌨️ 快捷键说明

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