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

📄 my_convert.asm

📁 图像处理的应用实例
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen                                    PC Version 4.36 *
;* Date/Time created: Mon Apr 26 16:23:25 2004                                *
;******************************************************************************

;******************************************************************************
;* GLOBAL FILE PARAMETERS                                                     *
;*                                                                            *
;*   Architecture      : TMS320C64xx                                          *
;*   Optimization      : Enabled at level 3                                   *
;*   Optimizing for    : Speed                                                *
;*                       Based on options: -o3, no -ms                        *
;*   Endian            : Little                                               *
;*   Interrupt Thrshld : Disabled                                             *
;*   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

	.global	_int_mem_temp
_int_mem_temp:	.usect	".user_data_int",720,128
;	d:\ti\c6000\cgtools\bin\opt6x.exe -t -DI0 -v6400 -q -O3 C:\DOCUME~1\杨杰\LOCALS~1\Temp\TI2064_2 C:\DOCUME~1\杨杰\LOCALS~1\Temp\TI2064_5 -w d:/ti/boards/evmdm642/examples/video/jpeg_loopback/obj/ 

	.sect	".text"
	.global	_yuv422to420

;******************************************************************************
;* FUNCTION NAME: _yuv422to420                                                *
;*                                                                            *
;*   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 + 0 Auto + 44 Save = 44 byte                  *
;******************************************************************************
_yuv422to420:
;** --------------------------------------------------------------------------*
           MV      .D1X    SP,A31            ; |16| 

           STW     .D2T1   A15,*SP--(48)     ; |16| 
||         MV      .D1X    B6,A0             ; |16| 

   [!A0]   B       .S1     L2                ; |28| 
||         STDW    .D1T1   A13:A12,*-A31(32)
||         STDW    .D2T2   B13:B12,*+SP(40)

           STDW    .D2T2   B11:B10,*+SP(32)
||         STDW    .D1T1   A11:A10,*-A31(40)

           LDW     .D2T2   *B4,B12           ; |21| 
||         STW     .D1T1   A14,*-A31(24)

           LDW     .D2T2   *+B4(8),B10       ; |23| 
||         LDW     .D1T1   *+A4(8),A11       ; |19| 
||         MVKL    .S1     _int_mem_temp,A13

           LDW     .D2T2   *+B4(4),B11       ; |22| 
||         MVK     .S1     0x2d0,A10
||         LDW     .D1T1   *+A4(4),A14       ; |18| 

           STW     .D2T2   B3,*+SP(28)
||         MVKH    .S1     _int_mem_temp,A13
||         LDW     .D1T1   *A4,A12           ; |17| 
||         MV      .L2     B6,B13            ; |16| 
||         MV      .L1X    B6,A15            ; |16| 
|| [ A0]   MVKL    .S2     _DAT_copy,B5      ; |30| 

           ; BRANCH OCCURS                   ; |28| 
;** --------------------------------------------------------------------------*
           MVKH    .S2     _DAT_copy,B5      ; |30| 
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: Loop contains a call
;*----------------------------------------------------------------------------*
L1:    
           CALL    .S2     B5                ; |30| 
           ADDKPC  .S2     RL0,B3,1          ; |30| 
           MV      .D2X    A13,B4            ; |30| 
           MV      .D1     A12,A4            ; |30| 
           EXTU    .S1     A10,16,16,A6      ; |30| 
RL0:       ; CALL OCCURS                     ; |30| 
           MVKL    .S1     _DAT_copy,A3      ; |31| 
           MVKH    .S1     _DAT_copy,A3      ; |31| 
           EXTU    .S1     A10,16,16,A6      ; |31| 
           CALL    .S2X    A3                ; |31| 
           MV      .D1     A13,A4            ; |31| 
           MV      .D2     B12,B4            ; |31| 
           ADDKPC  .S2     RL1,B3,2          ; |31| 
RL1:       ; CALL OCCURS                     ; |31| 
           MVKL    .S2     _DAT_wait,B4      ; |32| 
           MVKH    .S2     _DAT_wait,B4      ; |32| 
           CALL    .S2     B4                ; |32| 
           ADDKPC  .S2     RL2,B3,4          ; |32| 
RL2:       ; CALL OCCURS                     ; |32| 
           SUB     .D1X    B13,1,A0          ; |33| 
   [ A0]   BNOP    .S1     L1,2              ; |33| 

           SUB     .D2     B13,1,B13         ; |33| 
||         ADDK    .S1     720,A12           ; |33| 
||         ADDK    .S2     720,B12           ; |33| 

   [ A0]   MVKL    .S2     _DAT_copy,B5      ; |30| 
   [ A0]   MVKH    .S2     _DAT_copy,B5      ; |30| 
           ; BRANCH OCCURS                   ; |33| 
;** --------------------------------------------------------------------------*
L2:    
           SHR     .S1     A15,1,A3          ; |35| 
           MV      .D1     A3,A0             ; |35| 
   [!A0]   B       .S1     L4                ; |35| 
           MVKL    .S1     _int_mem_temp,A4
           MVK     .S1     0x168,A10
           MVKH    .S1     _int_mem_temp,A4

           MV      .D1     A4,A13
||         MV      .S1     A3,A15            ; |35| 
||         MV      .L1     A3,A12            ; |35| 

   [!A0]   MV      .D1     A12,A0
           ; BRANCH OCCURS                   ; |35| 
;** --------------------------------------------------------------------------*
           MVKL    .S2     _DAT_copy,B5      ; |37| 
           MVKH    .S2     _DAT_copy,B5      ; |37| 
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: Loop contains a call
;*----------------------------------------------------------------------------*
L3:    
           CALL    .S2     B5                ; |37| 
           ADDKPC  .S2     RL3,B3,1          ; |37| 
           MV      .D1     A14,A4            ; |37| 
           MV      .D2X    A13,B4            ; |37| 
           EXTU    .S1     A10,16,16,A6      ; |37| 
RL3:       ; CALL OCCURS                     ; |37| 
           MVKL    .S1     _DAT_copy,A3      ; |38| 
           MVKH    .S1     _DAT_copy,A3      ; |38| 
           EXTU    .S1     A10,16,16,A6      ; |38| 
           CALL    .S2X    A3                ; |38| 
           MV      .D1     A13,A4            ; |38| 
           MV      .D2     B11,B4            ; |38| 
           ADDKPC  .S2     RL4,B3,2          ; |38| 
RL4:       ; CALL OCCURS                     ; |38| 
           MVKL    .S2     _DAT_wait,B4      ; |39| 
           MVKH    .S2     _DAT_wait,B4      ; |39| 
           CALL    .S2     B4                ; |39| 
           ADDKPC  .S2     RL5,B3,4          ; |39| 
RL5:       ; CALL OCCURS                     ; |39| 
           SUB     .D1     A15,1,A0          ; |40| 
   [ A0]   BNOP    .S1     L3,2              ; |40| 

           SUB     .D1     A15,1,A15         ; |40| 
||         ADDK    .S1     720,A14           ; |40| 
||         ADDK    .S2     360,B11           ; |40| 

   [ A0]   MVKL    .S2     _DAT_copy,B5      ; |37| 

   [!A0]   MV      .D1     A12,A0
|| [ A0]   MVKH    .S2     _DAT_copy,B5      ; |37| 

           ; BRANCH OCCURS                   ; |40| 
;** --------------------------------------------------------------------------*
L4:    
   [!A0]   B       .S1     L6                ; |42| 
           MVKL    .S1     _int_mem_temp,A10
           MVK     .S1     0x168,A14

           MVKH    .S1     _int_mem_temp,A10
||         MV      .D1     A12,A13
|| [ A0]   MVKL    .S2     _DAT_copy,B5      ; |44| 
|| [!A0]   LDW     .D2T2   *+SP(28),B3       ; |50| 

   [ A0]   MVKH    .S2     _DAT_copy,B5      ; |44| 
   [!A0]   MV      .D1X    SP,A31            ; |50| 
           ; BRANCH OCCURS                   ; |42| 
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: Loop contains a call
;*----------------------------------------------------------------------------*
L5:    
           CALL    .S2     B5                ; |44| 
           NOP             1
           EXTU    .S1     A14,16,16,A6      ; |44| 
           MV      .D1     A11,A4            ; |44| 
           MV      .D2X    A10,B4            ; |44| 
           ADDKPC  .S2     RL6,B3,0          ; |44| 
RL6:       ; CALL OCCURS                     ; |44| 
           MVKL    .S1     _DAT_copy,A3      ; |45| 
           MVKH    .S1     _DAT_copy,A3      ; |45| 
           MV      .D1     A10,A4            ; |45| 
           CALL    .S2X    A3                ; |45| 
           EXTU    .S1     A14,16,16,A6      ; |45| 
           MV      .D2     B10,B4            ; |45| 
           ADDKPC  .S2     RL7,B3,2          ; |45| 
RL7:       ; CALL OCCURS                     ; |45| 
           MVKL    .S2     _DAT_wait,B4      ; |46| 
           MVKH    .S2     _DAT_wait,B4      ; |46| 
           CALL    .S2     B4                ; |46| 
           ADDKPC  .S2     RL8,B3,4          ; |46| 
RL8:       ; CALL OCCURS                     ; |46| 
           SUB     .D1     A13,1,A0          ; |47| 
   [ A0]   B       .S1     L5                ; |47| 

           SUB     .D1     A13,1,A13         ; |47| 
||         ADDK    .S1     720,A11           ; |47| 
||         ADDK    .S2     360,B10           ; |47| 

   [ A0]   MVKL    .S2     _DAT_copy,B5      ; |44| 

   [!A0]   LDW     .D2T2   *+SP(28),B3       ; |50| 
|| [ A0]   MVKH    .S2     _DAT_copy,B5      ; |44| 

           NOP             1
   [!A0]   MV      .D1X    SP,A31            ; |50| 
           ; BRANCH OCCURS                   ; |47| 
;** --------------------------------------------------------------------------*
L6:    
           LDDW    .D1T1   *+A31(16),A13:A12 ; |50| 

           LDDW    .D1T1   *+A31(8),A11:A10  ; |50| 
||         LDDW    .D2T2   *+SP(32),B11:B10  ; |50| 

           RET     .S2     B3                ; |50| 
||         LDW     .D1T1   *+A31(24),A14     ; |50| 
||         LDDW    .D2T2   *+SP(40),B13:B12  ; |50| 

           LDW     .D2T1   *++SP(48),A15     ; |50| 
           NOP             4
           ; BRANCH OCCURS                   ; |50| 



	.sect	".text"

⌨️ 快捷键说明

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