📄 filt_gen.asm
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen PC Version 4.36 *
;* Date/Time created: Tue Jun 22 14:07:18 2004 *
;******************************************************************************
;******************************************************************************
;* GLOBAL FILE PARAMETERS *
;* *
;* Architecture : TMS320C64xx *
;* Optimization : Enabled at level 2 *
;* Optimizing for : Speed *
;* Based on options: -o2, no -ms *
;* Endian : Little *
;* Interrupt Thrshld : 100 *
;* Memory Model : Large *
;* Calls to RTS : Far *
;* Pipelining : Enabled *
;* Speculative Load : Enabled *
;* Memory Aliases : Presume not aliases (optimistic) *
;* Debug Info : No Debug Info *
;* *
;******************************************************************************
.asg A15, FP
.asg B14, DP
.asg B15, SP
.global $bss
; c:\ti_6000\c6000\cgtools\bin\opt6x.exe -t -DI100 -v6400 -q -O2 C:\DOCUME~1\A03238~1.USA\LOCALS~1\Temp\TI3468_2 C:\DOCUME~1\A03238~1.USA\LOCALS~1\Temp\TI3468_5 -w .
.sect ".text"
.global _filter_design
;******************************************************************************
;* FUNCTION NAME: _filter_design *
;* *
;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14, *
;* A15,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12, *
;* B13,SP,A16,A17,A18,A19,A20,A21,A22,A23,A24,A25, *
;* A26,A27,A28,A29,A30,A31,B16,B17,B18,B19,B20,B21, *
;* B22,B23,B24,B25,B26,B27,B28,B29,B30,B31 *
;* Regs Used : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14, *
;* A15,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12, *
;* B13,SP,A16,A17,A18,A19,A20,A21,A22,A23,A24,A25, *
;* A26,A27,A28,A29,A30,A31,B16,B17,B18,B19,B20,B21, *
;* B22,B23,B24,B25,B26,B27,B28,B29,B30,B31 *
;* Local Frame Size : 0 Args + 40 Auto + 44 Save = 84 byte *
;******************************************************************************
_filter_design:
;** --------------------------------------------------------------------------*
MVKL .S2 __fltid,B5 ; |27|
MVKH .S2 __fltid,B5 ; |27|
|| STW .D2T1 A15,*SP--(88) ; |22|
|| MV .D1X SP,A31 ; |22|
CALL .S2 B5 ; |27|
|| STDW .D2T2 B13:B12,*+SP(80)
STDW .D1T1 A13:A12,*-A31(32)
|| STW .D2T2 B4,*+SP(4) ; |22|
STDW .D1T1 A11:A10,*-A31(40)
|| STDW .D2T2 B11:B10,*+SP(72)
STW .D2T1 A6,*+SP(8) ; |22|
STW .D2T2 B3,*+SP(68)
|| STW .D1T1 A14,*-A31(24)
ADDKPC .S2 RL0,B3,0 ; |27|
|| STW .D2T1 A4,*+SP(12) ; |22|
|| MV .D1 A4,A13 ; |22|
|| CMPGT .L1 A4,0,A10 ; |28|
|| MV .L2 B6,B12 ; |22|
RL0: ; CALL OCCURS ; |27|
MV .D1 A10,A0
[!A0] B .S1 L6 ; |28|
ZERO .D1 A4
|| STW .D2T1 A4,*+SP(16) ; |27|
|| MVKL .S2 __fltid,B4
STW .D2T1 A4,*+SP(20)
|| MVKH .S2 __fltid,B4
|| ZERO .D1 A3 ; |25|
STW .D2T1 A3,*+SP(24)
|| MVKL .S2 __mpyd,B10
STW .D2T1 A5,*+SP(28) ; |27|
|| MV .D1 A13,A4
|| MVKH .S2 __mpyd,B10
[!A0] LDW .D2T2 *+SP(68),B3 ; |55|
; BRANCH OCCURS ; |28|
;** --------------------------------------------------------------------------*
CALL .S2 B4
NOP 4
ADDKPC .S2 RL2,B3,0
RL2: ; CALL OCCURS
CALL .S2 B10
ZERO .D2 B5
MVKH .S2 0x3fe00000,B5
ZERO .D2 B4
ADDKPC .S2 RL3,B3,1
RL3: ; CALL OCCURS
MV .S2X A4,B13
|| STW .D2T1 A5,*+SP(32)
;** --------------------------------------------------------------------------*
;** BEGIN LOOP L1
;** --------------------------------------------------------------------------*
L1:
LDW .D2T1 *+SP(24),A3
NOP 2
LDW .D2T1 *+SP(24),A5
MVK .D1 0xffffffff,A12 ; |30|
MPYLH .M1 A13,A3,A4
MPYLH .M1 A3,A13,A3
NOP 1
MPYU .M1 A13,A5,A4
|| ADD .D1 A4,A3,A3
SHL .S1 A3,16,A3
ADD .D1 A4,A3,A3
STW .D2T1 A3,*+SP(36)
EXT .S1 A12,16,16,A3 ; |32|
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: Loop contains control code
;*----------------------------------------------------------------------------*
L2:
MPYLI .M1 A3,A13,A5:A4 ; |32|
LDW .D2T1 *+SP(20),A3 ; |32|
NOP 2
MVKL .S1 __fltid,A5 ; |32|
MVKH .S1 __fltid,A5 ; |32|
SUB .D1 A3,A4,A4 ; |32|
CALL .S2X A5 ; |32|
|| LDW .D2T1 *+SP(36),A3 ; |32|
ADDKPC .S2 RL8,B3,3 ; |32|
SUB .D1 A4,A3,A4 ; |32|
RL8: ; CALL OCCURS ; |32|
MVKL .S1 __addd,A3 ; |32|
MVKH .S1 __addd,A3 ; |32|
LDW .D2T2 *+SP(32),B5 ; |32|
CALL .S2X A3 ; |32|
MV .D2 B13,B4 ; |32|
ADDKPC .S2 RL9,B3,3 ; |32|
RL9: ; CALL OCCURS ; |32|
MVKL .S1 __divd,A3 ; |32|
MVKH .S1 __divd,A3 ; |32|
LDW .D2T2 *+SP(28),B5 ; |32|
CALL .S2X A3 ; |32|
LDW .D2T2 *+SP(16),B4 ; |32|
ADDKPC .S2 RL10,B3,3 ; |32|
RL10: ; CALL OCCURS ; |32|
MVKL .S2 __cmpd,B6
MVKH .S2 __cmpd,B6
CALL .S2 B6
MV .S1 A5,A10 ; |32|
MV .D1 A4,A11 ; |32|
ZERO .L2 B5:B4
ADDKPC .S2 RL11,B3,1
RL11: ; CALL OCCURS
CMPLT .L1 A4,0,A0
[!A0] BNOP .S1 L3,2
[!A0] MVKL .S1 __cmpd,A3
|| [ A0] MVKL .S2 __negd,B4 ; |35|
[!A0] MVKH .S1 __cmpd,A3
|| [ A0] MVKH .S2 __negd,B4 ; |35|
NOP 1
; BRANCH OCCURS
;** --------------------------------------------------------------------------*
CALL .S2 B4 ; |35|
ADDKPC .S2 RL12,B3,2 ; |35|
MV .D1 A11,A4 ; |35|
MV .S1 A10,A5 ; |35|
RL12: ; CALL OCCURS ; |35|
MV .S1 A4,A11 ; |35|
|| MV .D1 A5,A10 ; |35|
MVKL .S1 __cmpd,A3
MVKH .S1 __cmpd,A3
NOP 1
;** --------------------------------------------------------------------------*
L3:
CALL .S2X A3
ZERO .D2 B5
MVKH .S2 0x40000000,B5
ADDKPC .S2 RL37,B3,0
MV .D1 A11,A4
MV .S1 A10,A5
|| ZERO .D2 B4
RL37: ; CALL OCCURS
CMPLT .L1 A4,0,A3
MV .D1 A3,A0
[!A0] B .S1 L4
STW .D2T1 A3,*+SP(40)
[ A0] MVKL .S1 __mpyd,A3
[ A0] MVKH .S1 __mpyd,A3
[!A0] MVKL .S1 __cmpd,A3
[!A0] MVKH .S1 __cmpd,A3
; BRANCH OCCURS
;** --------------------------------------------------------------------------*
CALL .S2X A3
MVKL .S2 0xbfd8e3bc,B5
MVKL .S2 0xd35a8588,B4
MVKH .S2 0xbfd8e3bc,B5
MVKH .S2 0xd35a8588,B4
ADDKPC .S2 RL38,B3,0
|| MV .D1 A11,A4
|| MV .S1 A10,A5
RL38: ; CALL OCCURS
MVKL .S1 __mpyd,A3
MVKH .S1 __mpyd,A3
MV .D2X A10,B5
CALL .S2X A3
ADDKPC .S2 RL39,B3,3
MV .D2X A11,B4
RL39: ; CALL OCCURS
MVKL .S1 __mpyd,A3
MVKH .S1 __mpyd,A3
MV .D2X A10,B5
CALL .S2X A3
MV .D2X A11,B4
ADDKPC .S2 RL40,B3,3
RL40: ; CALL OCCURS
MVKL .S1 __addd,A3
MVKH .S1 __addd,A3
MV .D1 A5,A15
CALL .S2X A3
MV .D2X A10,B5
MV .L1 A4,A14
MV .D2X A11,B4
MV .S1 A10,A5
ADDKPC .S2 RL41,B3,0
|| MV .D1 A11,A4
RL41: ; CALL OCCURS
MVKL .S2 __mpyd,B6
MVKH .S2 __mpyd,B6
CALL .S2 B6
MV .D2X A10,B5
MV .D2X A11,B4
ADDKPC .S2 RL42,B3,2
RL42: ; CALL OCCURS
MVKL .S1 __addd,A3
MVKH .S1 __addd,A3
MV .D2X A5,B5
CALL .S2X A3
MV .D2X A4,B4
MV .S1 A14,A4
MV .D1 A15,A5
ADDKPC .S2 RL43,B3,1
RL43: ; CALL OCCURS
MVKL .S1 __mpyd,A3
MVKH .S1 __mpyd,A3
MVKL .S2 0x30be0ded,B4
CALL .S2X A3
MVKL .S2 0x400aaa99,B5
MVKH .S2 0x30be0ded,B4
MVKH .S2 0x400aaa99,B5
MV .S1 A4,A15
|| MV .D1 A5,A14
MV .S1 A10,A5
|| MV .D1 A11,A4
|| ADDKPC .S2 RL44,B3,0
RL44: ; CALL OCCURS
MVKL .S1 __subd,A3
MVKH .S1 __subd,A3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -