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

📄 dss.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:22 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.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\swi.h"
	.file	"C:\ti\c6000\bios\include\pip.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	"C:\ti\c6000\bios\include\swi.h"
	.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/6xisr/dss_isr.h"
	.stag	_SWI_Obj, 352
	.member	_lock, 0, 4, 8, 32
	.member	_ready, 32, 16, 8, 32
	.member	_mask, 64, 14, 8, 32
	.member	_link, 96, 16, 8, 32
	.member	_initkey, 128, 14, 8, 32
	.member	_mailbox, 160, 14, 8, 32
	.member	_fxnobj, 192, 8, 8, 96, _FXN_Obj
	.member	_stslock, 288, 4, 8, 32
	.member	_sts, 320, 24, 8, 32, _STS_Obj
	.eos
	.sym	_SWI_Obj, 0, 8, 13, 352,_SWI_Obj
	.file	"dss.c"
	.file	"C:\ti\c6000\bios\include\log.h"
	.file	"dss.h"
	.file	"dss.c"

	.sect	".cinit"
	.align	8
	.field  	IR_1,32
	.field  	_txPips+0,32
	.field  	_txPip0,32		; _txPips[0] @ 0
	.field  	_txPip1,32		; _txPips[1] @ 32
IR_1:	.set	8

	.sect	".text"
	.global	_txPips
_txPips:	.usect	.far,8,4
	.sym	_txPips,_txPips, 120, 2, 64, _PIP_Obj, 2

	.sect	".cinit"
	.align	8
	.field  	IR_2,32
	.field  	_rxPips+0,32
	.field  	_rxPip0,32		; _rxPips[0] @ 0
	.field  	_rxPip1,32		; _rxPips[1] @ 32
IR_2:	.set	8

	.sect	".text"
	.global	_rxPips
_rxPips:	.usect	.far,8,4
	.sym	_rxPips,_rxPips, 120, 2, 64, _PIP_Obj, 2
	.sect	".text"
	.global	_DSS_init
	.sym	_DSS_init,_DSS_init, 32, 2, 0
	.func	35

;******************************************************************************
;* FUNCTION NAME: _DSS_init                                                   *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,B0,B1,B2,B3,B4,B5, *
;*                           B6,B7,B8,B9,SP                                   *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,B0,B1,B2,B3,B4,B5, *
;*                           B6,B7,B8,B9,SP                                   *
;*   Local Frame Size  : 0 Args + 0 Auto + 8 Save = 8 byte                    *
;******************************************************************************
_DSS_init:
;** --------------------------------------------------------------------------*
	.sym	C$1,4, 24, 4, 32, _SWI_Obj
;** 37	-----------------------    dss_isr_init();
;** 38	-----------------------    C$1 = &DSS_swi;
;** 38	-----------------------    dss_isr_set_swi_n(C$1, 0);
;** 39	-----------------------    dss_isr_set_swi_n(C$1, 1);
;** 42	-----------------------    DSS_txPrime(0, 0);
;** 43	-----------------------    DSS_txPrime(1, 0);
;** 44	-----------------------    DSS_rxPrime(0, 0);
;** 45	-----------------------    DSS_rxPrime(1, 0);
;** 45	-----------------------    return;
           STW     .D2T2   B3,*SP--(8)       ; |35| 
           STW     .D2T1   A10,*+SP(4)       ; |35| 
	.line	3
           B       .S1     _dss_isr_init     ; |37| 
           MVKL    .S2     RL0,B3            ; |37| 
           MVKH    .S2     RL0,B3            ; |37| 
           NOP             3
RL0:       ; CALL OCCURS                     ; |37| 
	.line	4
           MVKL    .S1     _DSS_swi,A10      ; |38| 
           MVKH    .S1     _DSS_swi,A10      ; |38| 
           B       .S1     _dss_isr_set_swi_n ; |38| 
           MVKL    .S2     RL2,B3            ; |38| 
           MV      .L1     A10,A4            ; 
           MVKH    .S2     RL2,B3            ; |38| 
           ZERO    .L2     B4                ; |38| 
           NOP             1
RL2:       ; CALL OCCURS                     ; |38| 
           MV      .L1     A10,A4            ; 
	.line	5
           B       .S1     _dss_isr_set_swi_n ; |39| 
           MVKL    .S2     RL4,B3            ; |39| 
           MVK     .S2     0x1,B4            ; |39| 
           MVKH    .S2     RL4,B3            ; |39| 
           NOP             2
RL4:       ; CALL OCCURS                     ; |39| 
	.line	8
           B       .S1     _DSS_txPrime      ; |42| 
           MVKL    .S2     RL6,B3            ; |42| 
           ZERO    .L1     A4                ; |42| 
           MVKH    .S2     RL6,B3            ; |42| 
           ZERO    .L2     B4                ; |42| 
           NOP             1
RL6:       ; CALL OCCURS                     ; |42| 
	.line	9
           B       .S1     _DSS_txPrime      ; |43| 
           MVKL    .S2     RL8,B3            ; |43| 
           MVK     .S1     0x1,A4            ; |43| 
           MVKH    .S2     RL8,B3            ; |43| 
           ZERO    .L2     B4                ; |43| 
           NOP             1
RL8:       ; CALL OCCURS                     ; |43| 
	.line	10
           B       .S1     _DSS_rxPrime      ; |44| 
           MVKL    .S2     RL10,B3           ; |44| 
           ZERO    .L1     A4                ; |44| 
           MVKH    .S2     RL10,B3           ; |44| 
           ZERO    .L2     B4                ; |44| 
           NOP             1
RL10:      ; CALL OCCURS                     ; |44| 
	.line	11
           B       .S1     _DSS_rxPrime      ; |45| 
           MVKL    .S2     RL12,B3           ; |45| 
           MVK     .S1     0x1,A4            ; |45| 
           MVKH    .S2     RL12,B3           ; |45| 
           ZERO    .L2     B4                ; |45| 
           NOP             1
RL12:      ; CALL OCCURS                     ; |45| 
	.line	12
           LDW     .D2T1   *+SP(4),A10       ; |46| 
           LDW     .D2T2   *++SP(8),B3       ; |46| 
           NOP             4
           B       .S2     B3                ; |46| 
           NOP             5
           ; BRANCH OCCURS                   ; |46| 
	.endfunc	46,000080400h,8


	.sect	".text"
	.global	_DSS_swi_fxn
	.sym	_DSS_swi_fxn,_DSS_swi_fxn, 32, 2, 0
	.func	52

;******************************************************************************
;* FUNCTION NAME: _DSS_swi_fxn                                                *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,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,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,B10,B11,SP                              *
;*   Local Frame Size  : 0 Args + 0 Auto + 12 Save = 12 byte                  *
;******************************************************************************
_DSS_swi_fxn:
;** --------------------------------------------------------------------------*
	.sym	_arg0,4, 4, 17, 32
	.sym	_arg1,20, 4, 17, 32
;** 54	-----------------------    mbox = SWI_getmbox();
	.sym	_calledByIsr,27, 13, 4, 16
	.sym	_mbox,26, 14, 4, 32
;** 55	-----------------------    calledByIsr = mbox&0x10u;
;** 61	-----------------------    if ( !(mbox&1) ) goto g2;
           STW     .D2T2   B11,*SP--(16)     ; |52| 
           STW     .D2T2   B3,*+SP(8)        ; |52| 
           STW     .D2T2   B10,*+SP(12)      ; |52| 
	.line	3
           B       .S1     _SWI_getmbox      ; |54| 
           MVKL    .S2     RL14,B3           ; |54| 
           MVKH    .S2     RL14,B3           ; |54| 
           NOP             3
RL14:      ; CALL OCCURS                     ; |54| 
           MV      .L2X    A4,B10            ; 
	.line	4
           MVK     .S2     16,B4             ; |55| 
           AND     .L2     B4,B10,B4         ; |55| 
           EXTU    .S2     B4,16,16,B11      ; |55| 
	.line	10
           AND     .L2     1,B10,B0          ; |61| 
   [!B0]   B       .S1     L1                ; |61| 
           NOP             5
           ; BRANCH OCCURS                   ; |61| 
;** --------------------------------------------------------------------------*
;** 62	-----------------------    DSS_txPrime(0, (int)calledByIsr);
	.line	11
           B       .S1     _DSS_txPrime      ; |62| 
           MVKL    .S2     RL16,B3           ; |62| 
           MVKH    .S2     RL16,B3           ; |62| 
           MV      .L2     B11,B4            ; 
           ZERO    .L1     A4                ; |62| 
           NOP             1
RL16:      ; CALL OCCURS                     ; |62| 
;** --------------------------------------------------------------------------*
L1:    
;**	-----------------------g2:
;** 64	-----------------------    if ( !(mbox&2) ) goto g4;
	.line	13
           AND     .L2     2,B10,B0          ; |64| 
   [!B0]   B       .S1     L2                ; |64| 
           NOP             5
           ; BRANCH OCCURS                   ; |64| 
;** --------------------------------------------------------------------------*

⌨️ 快捷键说明

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