📄 demodulation_short.asm
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen PC Version 4.36 *
;* Date/Time created: Thu May 12 14:28:05 2005 *
;******************************************************************************
;******************************************************************************
;* GLOBAL FILE PARAMETERS *
;* *
;* Architecture : TMS320C671x *
;* Optimization : Enabled at level 3 *
;* Optimizing for : Speed 1st, size 2nd *
;* Based on options: -o3, -ms1 *
;* Endian : Little *
;* Interrupt Thrshld : Disabled *
;* Memory Model : Large *
;* Calls to RTS : Far *
;* Pipelining : Limited *
;* Speculative Load : Disabled *
;* Memory Aliases : Presume are aliases (pessimistic) *
;* Debug Info : COFF Debug *
;* *
;******************************************************************************
.asg A15, FP
.asg B14, DP
.asg B15, SP
.global $bss
.file "demodulation_short.c"
; c:\ti\c6000\cgtools\bin\opt6x.exe -i0 -v6710 -q -O3 -Z1 C:\DOCUME~1\SBPRJ-~1\LOCALS~1\Temp\TI3580_2 C:\DOCUME~1\SBPRJ-~1\LOCALS~1\Temp\TI3580_5 -w C:/ti/myprojects/recieverEDMA/Debug
.sect ".text"
.global _demodulation_short
.sym _demodulation_short,_demodulation_short, 32, 2, 0
.func 23
;******************************************************************************
;* FUNCTION NAME: _demodulation_short *
;* *
;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B4,B5,B6,B7,B8, *
;* B9,SP *
;* Regs Used : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B3,B4,B5,B6,B7, *
;* B8,B9,DP,SP *
;* Local Frame Size : 0 Args + 512 Auto + 0 Save = 512 byte *
;******************************************************************************
;******************************************************************************
;* *
;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
;* *
;******************************************************************************
_demodulation_short:
;** --------------------------------------------------------------------------*
.line 2
.sym _input,4, 19, 17, 32
.sym _output,20, 30, 17, 32
.sym _b,6, 19, 17, 32
.sym _e,22, 22, 17, 32
.sym _h,8, 22, 17, 32
.sym _i,6, 3, 4, 16
.sym _input,5, 19, 4, 32
.sym _output,7, 30, 4, 32
.sym _b,25, 19, 4, 32
.sym _tmp,20, 3, 4, 16
.sym _tmp,21, 3, 4, 16
.sym _b2,4, 51, 1, 2048,, 128
.sym _b3,260, 51, 1, 2048,, 128
ADDK .S2 -512,SP ; |24|
MV .D1 A4,A5 ; |24|
|| MV .S1X B4,A7 ; |24|
|| MV .S2X A6,B9 ; |24|
.line 11
ZERO .D2 B5 ; |33|
STH .D2T2 B5,*+SP(4) ; |33|
.line 12
MVK .S2 260,B4
ADD .S2 6,SP,B6
|| MVK .S1 0x20,A3
|| STH .D2T2 B5,*+SP(260) ; |34|
|| ADD .L2 B4,SP,B7
.line 25
MVK .S2 0x7f,B8 ; |47|
.line 6
MVC .S2 CSR,B1
AND .S2 -2,B1,B4
ZERO .D2 B4 ; |28|
|| MV .S1X B7,A0
|| MVC .S2 B4,CSR ; interrupts off
SUB .D2 B8,1,B0
|| ADD .S2 1,B4,B8 ; |53| (P) <0,0>
|| LDH .D1T1 *A0++,A4 ; |49| (P) <0,0> ^
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;*
;* Loop source line : 47
;* Loop opening brace source line : 48
;* Loop closing brace source line : 56
;* Known Minimum Trip Count : 127
;* Known Maximum Trip Count : 127
;* Known Max Trip Count Factor : 127
;* Loop Carried Dependency Bound(^) : 10
;* Unpartitioned Resource Bound : 2
;* Partitioned Resource Bound(*) : 3
;* Resource Partition:
;* A-side B-side
;* .L units 1 0
;* .S units 1 2
;* .D units 2 2
;* .M units 0 0
;* .X cross paths 0 0
;* .T address paths 2 2
;* Long read paths 1 2
;* Long write paths 0 0
;* Logical ops (.LS) 0 0 (.L or .S unit)
;* Addition ops (.LSD) 2 3 (.L or .S or .D unit)
;* Bound(.L .S .LS) 1 1
;* Bound(.L .S .D .LS .LSD) 2 3*
;*
;* Searching for software pipeline schedule at ...
;* ii = 10 Schedule found with 2 iterations in parallel
;* Done
;*
;* Epilog not removed
;* Collapsed epilog stages : 0
;*
;* Prolog not removed
;* Collapsed prolog stages : 0
;*
;* Minimum required memory pad : 0 bytes
;*
;* For further improvement on this loop, try option -mh2
;*
;* Minimum safe trip count : 2
;*----------------------------------------------------------------------------*
L1: ; PIPED LOOP PROLOG
;** --------------------------------------------------------------------------*
L2: ; PIPED LOOP KERNEL
NOP 3
[ B0] SUB .D2 B0,1,B0 ; |56| <0,4>
[ B0] B .S2 L2 ; |56| <0,5>
|| ADD .D1 2,A4,A4 ; |49| <0,5> ^
EXT .S1 A4,16,16,A4 ; |49| <0,6> ^
CMPEQ .L1 A4,A3,A1 ; <0,7>
ADD .D2 2,B7,B7 ; <0,8>
|| STH .D1T1 A4,*A0 ; |49| <0,8> ^
|| [ A1] EXT .S2 B8,16,16,B4 ; |53| <0,8>
[ A1] STH .D2T2 B5,*B7 ; |52| <0,9> ^
STH .D2T2 B4,*B6++ ; |55| <0,10>
|| ADD .S2 1,B4,B8 ; |53| <1,0>
|| LDH .D1T1 *A0++,A4 ; |49| <1,0> ^
;** --------------------------------------------------------------------------*
L3: ; PIPED LOOP EPILOG
;** --------------------------------------------------------------------------*
ADD .D2 2,B7,B7 ; (E) <1,8>
NOP 2
MVC .S2 B1,CSR ; interrupts on
ADD .D1 2,A4,A4 ; |49| (E) <1,5> ^
EXT .S1 A4,16,16,A4 ; |49| (E) <1,6> ^
STH .D1T1 A4,*A0 ; |49| (E) <1,8> ^
|| CMPEQ .L1 A4,A3,A1 ; (E) <1,7>
[ A1] EXT .S2 B8,16,16,B4 ; |53| (E) <1,8>
|| [ A1] STH .D2T2 B5,*B7 ; |52| (E) <1,9> ^
STH .D2T2 B4,*B6++ ; |55| (E) <1,10>
LDH .D2T2 *B9,B4
.line 36
ZERO .D1 A6 ; |58|
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: Loop contains control code
;*----------------------------------------------------------------------------*
L4:
NOP 3
.line 38
CMPEQ .L2 B4,1,B0 ; |60|
[ B0] B .S1 L5 ; |60|
[!B0] CMPEQ .L2 B4,2,B0 ; |60|
NOP 4
; BRANCH OCCURS ; |60|
;** --------------------------------------------------------------------------*
[ B0] B .S1 L6 ; |60|
[ B0] MVK .S1 260,A0
[ B0] ADD .S1X A0,SP,A0
[ B0] ADDAH .D1 A0,A6,A9
[ B0] ADD .S1X 4,SP,A0
[ B0] ADDAH .D1 A0,A6,A3
; BRANCH OCCURS ; |60|
;** --------------------------------------------------------------------------*
B .S1 L7 ; |60|
NOP 5
; BRANCH OCCURS ; |60|
;** --------------------------------------------------------------------------*
L5:
.line 42
ADDAW .D1 A5,A6,A0 ; |64|
LDH .D1T1 *A0,A0 ; |64|
NOP 4
CMPGT .L1 A0,0,A1 ; |64|
.line 43
[ A1] ADD .S1X 4,SP,A0 ; |65|
[ A1] LDH .D1T1 *+A0[A6],A0 ; |65|
[ A1] MVK .S1 260,A3 ; |65|
[ A1] ADD .S1X A3,SP,A3 ; |65|
[ A1] LDH .D1T1 *+A3[A6],A4 ; |65|
[ A1] MVK .S2 1,B5 ; |65|
[ A1] LDW .D1T1 *+A7[A0],A3 ; |65|
B .S1 L7 ; |65|
NOP 2
[ A1] SHL .S1X B5,A4,A4 ; |65|
[ A1] OR .S1 A4,A3,A3 ; |65|
[ A1] STW .D1T1 A3,*+A7[A0] ; |65|
; BRANCH OCCURS ; |65|
;** --------------------------------------------------------------------------*
L6:
.line 49
ADDAW .D1 A5,A6,A0 ; |71|
LDH .D1T1 *A0,A4 ; |71|
ZERO .D2 B0 ; |71|
NOP 3
CMPLT .L1 A4,0,A1 ; |71|
[!A1] ADDAW .D1 A5,A6,A0 ; |71|
[ A1] LDH .D1T1 *+A0(2),A0 ; |71|
[!A1] LDH .D1T1 *+A0(2),A0 ; |71|
NOP 4
[!A1] CMPLT .L1 A0,0,A8 ; |71|
|| [ A1] CMPLT .L2X A0,0,B7 ; |71|
CMPEQ .L1 A8,0,A0 ; |71|
|| [ A1] MV .D2 B7,B0 ; |71|
CMPEQ .L1 A1,0,A0 ; |71|
|| OR .S1 A0,A1,A2 ; |71|
|| [ B0] MVK .S2 0x2,B6 ; |71|
OR .S1 A8,A1,A2 ; |71|
|| OR .L2X B7,A0,B0 ; |71|
|| [!A2] MVK .S2 0x3,B8 ; |71|
[!A2] MVK .S2 0x1,B8 ; |71|
|| [!B0] ZERO .D2 B6 ; |71|
[ A1] MV .D2 B6,B5 ; |71|
|| [!A1] MV .S2 B8,B5 ; |71|
.line 51
LDH .D1T1 *A3,A0 ; |73|
NOP 3
.line 64
LDH .D1T1 *A9,A3 ; |86|
LDW .D1T1 *+A7[A0],A4 ; |86|
NOP 3
SHL .S1X B5,A3,A3 ; |86|
OR .S1 A3,A4,A3 ; |86|
STW .D1T1 A3,*+A7[A0] ; |86|
;** --------------------------------------------------------------------------*
L7:
.line 168
MVK .S1 128,A3 ; |190|
|| ADD .D1 1,A6,A0 ; |190|
EXT .S1 A0,16,16,A6 ; |190|
CMPLT .L1 A6,A3,A1 ; |190|
[ A1] B .S1 L4 ; |190|
NOP 5
; BRANCH OCCURS ; |190|
;** --------------------------------------------------------------------------*
.line 169
RET .S2 B3 ; |191|
ADDK .S2 512,SP ; |191|
NOP 4
; BRANCH OCCURS ; |191|
.endfunc 191,000000000h,512
;******************************************************************************
;* TYPE INFORMATION *
;******************************************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -