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

📄 scale_2d_yc_doub_buf.asm

📁 基于DM642平台的视频缩小放大功能 程序源代码
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen                                    PC Version 4.36 *
;* Date/Time created: Tue Jun 22 14:07:22 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


	.sect	".const"
	.align 8
_$T0$1:
	.field  	9539,16			; _$T0$1[0] @ 0
	.field  	13075,16			; _$T0$1[1] @ 16
	.field  	62326,16			; _$T0$1[2] @ 32
	.field  	58876,16			; _$T0$1[3] @ 48
	.field  	16525,16			; _$T0$1[4] @ 64

	.sect	".text"
;	c:\ti_6000\c6000\cgtools\bin\opt6x.exe -t -DI100 -v6400 -q -O2 C:\DOCUME~1\A03238~1.USA\LOCALS~1\Temp\TI1784_2 C:\DOCUME~1\A03238~1.USA\LOCALS~1\Temp\TI1784_5 -w . 

	.sect	".opt_gp"
	.global	_scale_2d_ycrcb

;******************************************************************************
;* FUNCTION NAME: _scale_2d_ycrcb                                             *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,B0,*
;*                           B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,B13,SP,FP,*
;*                           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,B0,*
;*                           B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,B13,SP,FP,*
;*                           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 + 360 Auto + 44 Save = 404 byte               *
;******************************************************************************
_scale_2d_ycrcb:
;** --------------------------------------------------------------------------*

           MV      .D1X    SP,FP             ; |69| 
||         STW     .D2T1   FP,*SP--(8)       ; |69| 

           ADDK    .S2     -400,SP
           LDW     .D1T2   *+FP(28),B5       ; |69| 
           LDW     .D1T1   *+FP(36),A5       ; |69| 
           LDW     .D1T2   *+FP(48),B16      ; |69| 
           MV      .D2X    A6,B9             ; |69| 
           MV      .D1X    B4,A3             ; |69| 
           STW     .D2T2   B5,*+SP(20)       ; |69| 
           LDW     .D1T2   *+FP(20),B5       ; |69| 
           STW     .D2T2   B12,*+SP(400)
           STW     .D2T2   B13,*+SP(404)
           STW     .D1T1   A14,*-FP(24)
           STDW    .D1T1   A13:A12,*-FP(32)
           STW     .D2T2   B5,*+SP(24)       ; |69| 
           STW     .D2T1   A5,*+SP(28)       ; |69| 
           LDW     .D1T1   *+FP(40),A5       ; |69| 
           STDW    .D1T1   A11:A10,*-FP(40)
           MVKL    .S2     _$T0$1,B7         ; |151| 
           LDW     .D1T1   *+FP(24),A7       ; |69| 
           MVKH    .S2     _$T0$1,B7         ; |151| 
           STW     .D2T1   A5,*+SP(32)       ; |69| 
           LDW     .D1T1   *+FP(44),A5       ; |69| 
           MVKL    .S2     __divi,B19        ; |181| 
           MVKH    .S2     __divi,B19        ; |181| 
           ADD     .D2     B4,B4,B21         ; |181| 
           MV      .L2X    A6,B4             ; |69| 
           STW     .D2T1   A5,*+SP(36)       ; |69| 
           LDW     .D2T2   *+SP(20),B5       ; |69| 

           STW     .D2T2   B16,*+SP(40)      ; |69| 
||         LDW     .D1T1   *+FP(32),A5       ; |69| 

           LDW     .D2T2   *+SP(20),B16      ; |69| 
           NOP             1
           ADD     .S1     A6,A6,A17         ; |191| 
           ZERO    .D1     A6                ; |184| 

           MPYLH   .M2     B9,B5,B5          ; |179| 
||         STW     .D2T1   A5,*+SP(44)       ; |191| 

           LDW     .D2T2   *+SP(24),B9       ; |69| 
||         MPYLH   .M2     B16,B9,B17        ; |179| 
||         MV      .D1X    B9,A5             ; |69| 

           NOP             1
           MVKL    .S2     __divi,B16        ; |191| 
           MVKH    .S2     __divi,B16        ; |191| 
           ADD     .D2     B17,B5,B18        ; |179| 

           LDW     .D1T2   *+FP(12),B9       ; |69| 
||         MPYLH   .M2X    B9,A3,B18         ; |179| 
||         SHL     .S2     B18,16,B20        ; |179| 
||         MPYLH   .M1X    A3,B9,A9          ; |179| 

           NOP             2
           LDW     .D1T2   *+FP(16),B17      ; |69| 
           MVKL    .S2     __divi,B5         ; |190| 
           STW     .D2T2   B9,*+SP(48)       ; |179| 
           LDW     .D1T2   *+FP(4),B9        ; |69| 
           STW     .D2T2   B10,*+SP(392)
           STW     .D2T2   B11,*+SP(396)
           STW     .D2T2   B3,*+SP(388)
           STW     .D2T1   A4,*+SP(52)       ; |69| 
           STW     .D2T2   B9,*+SP(56)       ; |182| 
           STW     .D2T2   B6,*+SP(60)       ; |69| 
           STW     .D2T1   A8,*+SP(64)       ; |69| 
           STW     .D2T2   B8,*+SP(68)       ; |69| 

           STW     .D2T1   A10,*+SP(72)      ; |69| 
||         LDW     .D1T2   *+FP(8),B11       ; |69| 

           LDW     .D2T1   *+SP(24),A4       ; |69| 
           STW     .D2T2   B12,*+SP(76)      ; |69| 

           LDH     .D2T2   *+B7(8),B22       ; |151| 
||         ADD     .D1X    B18,A9,A9         ; |179| 

           LDW     .D2T1   *+SP(20),A9       ; |191| 
||         SHL     .S1     A9,16,A8          ; |179| 

           LDDW    .D2T2   *B7,B7:B6         ; |151| 
           MVKH    .S2     __divi,B5         ; |190| 
           MPYU    .M1     A4,A3,A4          ; |179| 
           LDW     .D2T2   *+SP(24),B9       ; |183| 

           MPYU    .M1     A9,A5,A8          ; |179| 
||         ADD     .D1     A4,A8,A4          ; |179| 

           ADD     .L2     8,SP,B8           ; |151| 
           ADD     .D1X    A8,B20,A16        ; |179| 
           CMPLT   .L1     A4,A16,A0         ; |179| 
   [!A0]   BNOP    .S1     L1,1              ; |179| 
           STH     .D2T2   B22,*+B8(8)       ; |151| 
           STW     .D2T1   A6,*+SP(80)       ; |151| 

           MV      .D1     A9,A11            ; |69| 
||         MVKL    .S2     __divi,B18        ; |182| 

           ZERO    .L1     A9                ; |188| 
||         SUB     .S1     A4,A16,A6         ; |181| 
||         STDW    .D2T2   B7:B6,*B8         ; |151| 
||         MVKH    .S2     __divi,B18        ; |182| 
||         SUB     .D1     A16,A4,A8         ; |191| 

           ; BRANCH OCCURS                   ; |179| 
;** --------------------------------------------------------------------------*
           CALL    .S2     B5                ; |190| 
           ADDKPC  .S2     RL0,B3,4          ; |190| 
RL0:       ; CALL OCCURS                     ; |190| 
           CALL    .S2     B16               ; |191| 
           ADDKPC  .S2     RL1,B3,1          ; |191| 
           MV      .S1     A4,A11            ; |190| 
           MV      .D1     A8,A4             ; |191| 
           MV      .D2X    A17,B4            ; |191| 
RL1:       ; CALL OCCURS                     ; |191| 
           B       .S1     L2                ; |191| 
           ADD     .D1     A4,A4,A4          ; |191| 

           MPYLH   .M1     A7,A12,A6         ; |195| 
||         STW     .D2T1   A4,*+SP(80)       ; |191| 

           MPYLH   .M1     A12,A7,A4         ; |195| 
           MPYLH   .M2     B10,B17,B4        ; |195| 

           MPYLH   .M2     B17,B10,B6        ; |195| 
||         ADD     .D1     A6,A4,A4          ; |195| 

           ; BRANCH OCCURS                   ; |191| 
;** --------------------------------------------------------------------------*
L1:    
           CALL    .S2     B19               ; |181| 
           ADDKPC  .S2     RL2,B3,2          ; |181| 
           MV      .D1     A6,A4             ; |181| 
           MV      .D2     B21,B4            ; |181| 
RL2:       ; CALL OCCURS                     ; |181| 
           CALL    .S2     B18               ; |182| 
           MV      .S1     A4,A9             ; |181| 
           MV      .D2X    A3,B4             ; |182| 
           ADDKPC  .S2     RL3,B3,0          ; |182| 
           MV      .D1     A16,A4            ; |182| 
           NOP             1
RL3:       ; CALL OCCURS                     ; |182| 
           MV      .D2X    A4,B9             ; |182| 
           MPYLH   .M1     A7,A12,A6         ; |195| 
           MPYLH   .M1     A12,A7,A4         ; |195| 
           MPYLH   .M2     B10,B17,B4        ; |195| 

           ADD     .D1     A6,A4,A4          ; |195| 
||         MPYLH   .M2     B17,B10,B6        ; |195| 

;** --------------------------------------------------------------------------*
L2:    

           MPYU    .M1     A7,A12,A4         ; |195| 
||         SHL     .S1     A4,16,A6          ; |195| 

           MPYU    .M2     B17,B10,B4        ; |195| 
||         ADD     .D2     B6,B4,B7          ; |195| 

           ADD     .D1     A4,A6,A7          ; |195| 
||         SHL     .S2     B7,16,B7          ; |195| 
||         STW     .D2T1   A7,*+SP(84)       ; |198| 

           ADD     .D2     B4,B7,B16         ; |195| 

           CMPLT   .L2X    B16,A7,B0         ; |195| 
||         MVKL    .S2     __divi,B8         ; |197| 

   [!B0]   B       .S1     L3                ; |195| 
||         MVKL    .S2     __divi,B5         ; |203| 

           MVKH    .S2     __divi,B8         ; |197| 
           MVKH    .S2     __divi,B5         ; |203| 

           SUB     .S1X    A7,B16,A8         ; |205| 
||         MVKL    .S2     __divi,B6         ; |205| 

           MV      .D1X    B16,A4            ; |203| 
||         MVKH    .S2     __divi,B6         ; |205| 

           ADD     .D2     B10,B10,B16       ; |197| 
||         ADD     .D1     A12,A12,A7        ; |205| 
||         SUB     .S1X    B16,A7,A6         ; |197| 
||         MV      .S2X    A12,B4            ; |203| 
||         ZERO    .L2     B7                ; |202| 

           ; BRANCH OCCURS                   ; |195| 
;** --------------------------------------------------------------------------*
           CALL    .S2     B5                ; |203| 
           ADDKPC  .S2     RL4,B3,4          ; |203| 
RL4:       ; CALL OCCURS                     ; |203| 
           CALL    .S2     B6                ; |205| 
           ADDKPC  .S2     RL5,B3,1          ; |205| 
           MV      .D2X    A7,B4             ; |205| 
           ADD     .S1     2,A4,A16          ; |203| 
           MV      .D1     A8,A4             ; |205| 
RL5:       ; CALL OCCURS                     ; |205| 
           LDW     .D2T1   *+SP(20),A6       ; |205| 
           LDW     .D2T2   *+SP(20),B4       ; |205| 
           NOP             3
           MPYLH   .M1     A6,A4,A6          ; |205| 
           MPYLH   .M2X    A4,B4,B5          ; |205| 
           MPYU    .M2X    B4,A4,B4          ; |205| 
           ADD     .D2X    A6,B5,B5          ; |205| 
           SHL     .S2     B5,16,B5          ; |205| 

           LDW     .D2T2   *+SP(80),B5       ; |205| 
||         ADD     .S2     B4,B5,B4          ; |205| 

           AND     .D1     -2,A16,A4         ; |203| 
           BNOP    .S1     L4,2              ; |205| 
           ADDAH   .D2     B5,B4,B4          ; |205| 
           STW     .D2T1   A4,*+SP(84)       ; |205| 
           STW     .D2T2   B4,*+SP(80)       ; |205| 
           ; BRANCH OCCURS                   ; |205| 
;** --------------------------------------------------------------------------*
L3:    
           CALL    .S2     B8                ; |197| 
           ADDKPC  .S2     RL6,B3,2          ; |197| 
           MV      .D1     A6,A4             ; |197| 
           MV      .D2     B16,B4            ; |197| 
RL6:       ; CALL OCCURS                     ; |197| 
           LDW     .D2T1   *+SP(24),A6       ; |197| 
           LDW     .D2T2   *+SP(24),B4       ; |197| 
           LDW     .D2T2   *+SP(24),B5       ; |197| 
           NOP             2
           MPYLH   .M1     A6,A4,A6          ; |197| 
           MPYLH   .M2X    A4,B4,B4          ; |197| 
           MPYU    .M2X    B5,A4,B5          ; |197| 
           ADD     .D2X    A6,B4,B4          ; |197| 
           SHL     .S2     B4,16,B4          ; |197| 
           ADD     .D2     B5,B4,B7          ; |197| 
;** --------------------------------------------------------------------------*
L4:    
           LDW     .D2T1   *+SP(24),A6       ; |214| 
           LDW     .D2T1   *+SP(52),A4
           ZERO    .S2     B8                ; |217| 
           ADD     .S2X    B7,A9,B6          ; |212| 

⌨️ 快捷键说明

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