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

📄 filt_gen.asm

📁 基于DM642平台的视频缩小放大功能 程序源代码
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;******************************************************************************
;* 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 + -