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

📄 main.asm

📁 语音信号加密
💻 ASM
📖 第 1 页 / 共 3 页
字号:
;*******************************************************************************
;* TMS320C55x ANSI C Codegen                                      Version 2.00 *
;* Date/Time created: Fri Aug 11 17:44:29 2006                                 *
;*******************************************************************************
	.mmregs
	.cpl_on
	.arms_on
	.asg AR6, FP
	.model call=c55_std
	.model mem=small
	.noremark 5558  ; code avoids SE CPU_33
	.noremark 5571  ; code avoids SE CPU_41
	.noremark 5572  ; code avoids SE CPU_42
	.noremark 5573  ; code avoids SE CPU_43
	.noremark 5584  ; code avoids SE CPU_47
	.noremark 5002  ; code respects overwrite rules
;******************************************************************************
;* GLOBAL FILE PARAMETERS                                                     *
;*                                                                            *
;*   Optimization       : Always Choose Smaller Code Size                     *
;*   Memory             : Small Model (16-Bit Data Pointers)                  *
;*   Calls              : Normal Library ASM calls                            *
;*   Debug Info         : Standard TI Debug Information                       *
;******************************************************************************
	.file	"main.c"

	.sect	".cinit"
	.align	1
	.field  	IR_1,16
	.field  	_ConfigLoopBack32+0,24
	.field  	0,8
	.field  	16385,16			; _ConfigLoopBack32._spcr1 @ 0
	.field  	961,16			; _ConfigLoopBack32._spcr2 @ 16
	.field  	7936,16			; _ConfigLoopBack32._rcr1 @ 32
	.field  	16,16			; _ConfigLoopBack32._rcr2 @ 48
	.field  	7936,16			; _ConfigLoopBack32._xcr1 @ 64
	.field  	16,16			; _ConfigLoopBack32._xcr2 @ 80
	.field  	319,16			; _ConfigLoopBack32._srgr1 @ 96
	.field  	12543,16			; _ConfigLoopBack32._srgr2 @ 112
	.field  	1,16			; _ConfigLoopBack32._mcr1 @ 128
	.field  	1,16			; _ConfigLoopBack32._mcr2 @ 144
	.field  	3584,16			; _ConfigLoopBack32._pcr @ 160
	.field  	1,16			; _ConfigLoopBack32._rcera @ 176
	.field  	0,16			; _ConfigLoopBack32._rcerb @ 192
	.field  	0,16			; _ConfigLoopBack32._rcerc @ 208
	.field  	0,16			; _ConfigLoopBack32._rcerd @ 224
	.field  	0,16			; _ConfigLoopBack32._rcere @ 240
	.field  	0,16			; _ConfigLoopBack32._rcerf @ 256
	.field  	0,16			; _ConfigLoopBack32._rcerg @ 272
	.field  	0,16			; _ConfigLoopBack32._rcerh @ 288
	.field  	1,16			; _ConfigLoopBack32._xcera @ 304
	.field  	0,16			; _ConfigLoopBack32._xcerb @ 320
	.field  	0,16			; _ConfigLoopBack32._xcerc @ 336
	.field  	0,16			; _ConfigLoopBack32._xcerd @ 352
	.field  	0,16			; _ConfigLoopBack32._xcere @ 368
	.field  	0,16			; _ConfigLoopBack32._xcerf @ 384
	.field  	0,16			; _ConfigLoopBack32._xcerg @ 400
	.field  	0,16			; _ConfigLoopBack32._xcerh @ 416
IR_1:	.set	27
	.sect	".text"
	.global	_ConfigLoopBack32
	.bss	_ConfigLoopBack32,27,0,0
	.sym	_ConfigLoopBack32,_ConfigLoopBack32, 8, 2, 432, $$fake1
	.global	_mhMcbsp
	.bss	_mhMcbsp,1,0,0
	.sym	_mhMcbsp,_mhMcbsp, 24, 2, 16, $$fake0
	.global	_rcv
	.bss	_rcv,256,0,0
	.sym	_rcv,_rcv, 52, 2, 4096,, 256
	.global	_xmt
	.bss	_xmt,256,0,0
	.sym	_xmt,_xmt, 52, 2, 4096,, 256

	.sect	".cinit"
	.align	1
	.field  	1,16
	.field  	_XfrCnt+0,24
	.field  	0,8
	.field  	0,16			; _XfrCnt @ 0
	.sect	".text"
	.global	_XfrCnt
	.bss	_XfrCnt,1,0,0
	.sym	_XfrCnt,_XfrCnt, 14, 2, 16

	.sect	".cinit"
	.align	1
	.field  	1,16
	.field  	_err+0,24
	.field  	0,8
	.field  	0,16			; _err @ 0
	.sect	".text"
	.global	_err
	.bss	_err,1,0,0
	.sym	_err,_err, 14, 2, 16
	.global	_old_intm
	.bss	_old_intm,1,0,0
	.sym	_old_intm,_old_intm, 14, 2, 16
	.global	_rcvEventId
	.bss	_rcvEventId,1,0,0
	.sym	_rcvEventId,_rcvEventId, 14, 2, 16
	.global	_xmtEventId
	.bss	_xmtEventId,1,0,0
	.sym	_xmtEventId,_xmtEventId, 14, 2, 16
;	d:\program files\ti\c5500\cgtools\bin\opt55.exe -O3 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI996_2 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI996_5 -w d:/program files/ti/myprojects/mcbsp1/Debug 
	.sect	".text"
	.global	_writeIsr
	.sym	_writeIsr,_writeIsr, 32, 2, 0
	.func	226
;******************************************************************************
;* INTERRUPT NAME: _writeIsr                                                  *
;*                                                                            *
;*   Function Uses Regs : AC0,T0,T1,T2,T3,AR1,AR2,AR3,AR5,CARRY,TC1,M40,SATA, *
;*                        SATD,FRCT,SMUL                                      *
;*   Save On Entry Regs : AC0,AC0_H,AC0_G,AC1,AC1_H,AC1_G,AC2,AC2_H,AC2_G,AC3,*
;*                        AC3_H,AC3_G,T0,T1,T2,T3,AR0,AR1,AR2,AR3,AR4,AR5,AR6,*
;*                        AR7,ST3,BRC0,RSA0,RSA0_H,REA0,REA0_H,BRS1,BRC1,RSA1,*
;*                        RSA1_H,REA1,REA1_H,CSR,RPTC,CDP,TRN0,TRN1,BSA01,    *
;*                        BSA23,BSA45,BSA67,BSAC                              *
;******************************************************************************
_writeIsr:
	.line	2
;* T0    assigned to _old_intm
	.sym	_old_intm,12, 4, 4, 16
;* T3    assigned to _mask
	.sym	_mask,15, 14, 4, 16
;* T3    assigned to _value
	.sym	_value,15, 14, 4, 16
;* AR1   assigned to _prev
	.sym	_prev,18, 14, 4, 16
;* AR5   assigned to _reg
	.sym	_reg,26, 14, 4, 16
;* T2    assigned to _EventId
	.sym	_EventId,14, 14, 4, 16
;* AR1   assigned to _Val
	.sym	_Val,18, 14, 4, 16
;* AR3   assigned to __MCBSP
	.sym	__MCBSP,22, 24, 4, 16, $$fake0
;* T0    assigned to _old_intm
	.sym	_old_intm,12, 4, 4, 16
;* T3    assigned to _mask
	.sym	_mask,15, 14, 4, 16
;* AR5   assigned to _reg
	.sym	_reg,26, 14, 4, 16
;* T2    assigned to _EventId
	.sym	_EventId,14, 14, 4, 16
        dbl(push(AC0))

        push(@AC0_G)
||      mmap()

        dbl(push(AC1))

        push(@AC1_G)
||      mmap()

        dbl(push(AC2))

        push(@AC2_G)
||      mmap()

        dbl(push(AC3))

        push(@AC3_G)
||      mmap()

        push(T1,T0)
        push(T3,T2)
        push(AR1,AR0)
        push(AR3,AR2)
        push(AR5,AR4)
        push(AR7,AR6)

        push(@ST3_L)
||      mmap()

        push(@BRC0_L)
||      mmap()

        push(@RSA0_L)
||      mmap()

        push(@RSA0_H)
||      mmap()

        push(@REA0_L)
||      mmap()

        push(@REA0_H)
||      mmap()

        push(@BRS1_L)
||      mmap()

        push(@BRC1_L)
||      mmap()

        push(@RSA1_L)
||      mmap()

        push(@RSA1_H)
||      mmap()

        push(@REA1_L)
||      mmap()

        push(@REA1_H)
||      mmap()

        push(@CSR_L)
||      mmap()

        push(@RPTC_L)
||      mmap()

        push(@CDP_L)
||      mmap()

        push(@TRN0_L)
||      mmap()

        push(@TRN1_L)
||      mmap()

        push(@BSA01_L)
||      mmap()

        push(@BSA23_L)
||      mmap()

        push(@BSA45_L)
||      mmap()

        push(@BSA67_L)
||      mmap()

        push(@BSAC_L)
||      mmap()

        AR1 = SP

        @SP_L = @SP_L & #0xfffe
||      mmap()

        push(AR1)

        @ST2_L = @ST2_L & #0xfa00
||      mmap()

        @ST1_L = @ST1_L & #0xf91f
||      mmap()

        SP = SP + #-1

        @ST2_L = @ST2_L | #0x8000
||      mmap()

        @ST3_L = @ST3_L & #0xffdd
||      mmap()

        @ST1_L = @ST1_L | #0x4100
||      mmap()

	.line	9
        T2 = *abs16(#_xmtEventId)
        AC0 = T2
        AR5 = field_extract(AC0, #0x0010) ; |238| 
        T1 = T2 & #0x000f ; |239| 
        AC0 = #1  ; |239| 
        AC0 = AC0 << T1 ; |239| 
        T3 = AC0  ; |239| 
        call #_IRQ_globalDisable ; |240| 
                                        ; call occurs [#_IRQ_globalDisable]	; |240| 
        TC1 = bit(T2,@#4) ; |241| 
        if (!TC1) execute (D_Unit) ||
            AR3 = #0 ; |241| 
        if (!TC1) execute (D_Unit) ||
            AR1 = *AR3
        if (TC1) execute (D_Unit) ||
            AR3 = #69 ; |241| 
        if (TC1) execute (D_Unit) ||
            AR1 = *AR3
        if (AR5 != #0) goto L1 ; |243| 
                                        ; branch occurs	; |243| 
        AR3 = #0  ; |246| 
        AR1 = ~T3 ; |246| 
        AR1 = AR1 & *AR3 ; |246| 
        *AR3 = AR1 ; |246| 
        goto L2   ; |246| 
                                        ; branch occurs	; |246| 
L1:    
        AR3 = #69 ; |244| 
        AR1 = ~T3 ; |244| 
        AR1 = AR1 & *AR3 ; |244| 
        *AR3 = AR1 ; |244| 
L2:    
        call #_IRQ_globalRestore ; |247| 
                                        ; call occurs [#_IRQ_globalRestore]	; |247| 
	.line	10
        T0 = #(_rcv & 0xffff) ; |235| 
        AR2 = *abs16(#_XfrCnt) ; |235| 
        AR3 = *abs16(#_mhMcbsp)
        AR1 = #256 ; |235| 
        AR1 = AR1 + *AR2(T0)
        AR3 = *AR3(short(#3))

        *AR3 = AR1 ; |1385| 
||      writeport()

	.line	11
        T2 = *abs16(#_xmtEventId)
        AC0 = T2
        AR5 = field_extract(AC0, #0x0010) ; |202| 
        T1 = T2 & #0x000f ; |203| 
        AC0 = #1  ; |203| 
        AC0 = AC0 << T1 ; |203| 
        T3 = AC0  ; |203| 
        call #_IRQ_globalDisable ; |204| 
                                        ; call occurs [#_IRQ_globalDisable]	; |204| 
        TC1 = bit(T2,@#4) ; |205| 
        if (!TC1) execute (D_Unit) ||
            AR3 = #0 ; |205| 
        if (!TC1) execute (D_Unit) ||
            AR1 = *AR3
        if (TC1) execute (D_Unit) ||
            AR3 = #69 ; |205| 
        if (TC1) execute (D_Unit) ||
            AR1 = *AR3
        T3 = T3 | AR1 ; |207| 
        if (AR5 == #0) execute (D_Unit) ||
            AR3 = #0 ; |211| 
        if (AR5 == #0) execute (AD_Unit) ||
            *AR3 = T3 ; |211| 
        if (AR5 != #0) execute (D_Unit) ||
            AR3 = #69 ; |209| 
        if (AR5 != #0) execute (AD_Unit) ||
            *AR3 = T3 ; |209| 
        call #_IRQ_globalRestore ; |212| 
                                        ; call occurs [#_IRQ_globalRestore]	; |212| 
	.line	12
        SP = SP + #1

        @SP_L = pop()
||      mmap()

        @BSAC_L = pop()
||      mmap()

        @BSA67_L = pop()
||      mmap()

        @BSA45_L = pop()
||      mmap()

        @BSA23_L = pop()
||      mmap()

        @BSA01_L = pop()
||      mmap()

        @TRN1_L = pop()
||      mmap()

        @TRN0_L = pop()
||      mmap()

        @CDP_L = pop()
||      mmap()

        @RPTC_L = pop()
||      mmap()

        @CSR_L = pop()
||      mmap()

        @REA1_H = pop()
||      mmap()

⌨️ 快捷键说明

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