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

📄 my_convert.asm

📁 这是DM642(EVM开发板)的视频采集和视频输出到网络调用的一个很好的例子原代码,用CCS3.3可以打开,调试通过.
💻 ASM
📖 第 1 页 / 共 4 页
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen                                          PC v6.0.8 *
;* Date/Time created: Mon Mar 10 23:01:56 2008                                *
;******************************************************************************
	.compiler_opts --c64p_l1d_workaround=default --endian=little --hll_source=on --mem_model:code=far --mem_model:data=far --predefine_memory_model_macros --quiet --silicon_version=6400 --symdebug:skeletal 

;******************************************************************************
;* GLOBAL FILE PARAMETERS                                                     *
;*                                                                            *
;*   Architecture      : TMS320C64xx                                          *
;*   Optimization      : Enabled at level 3                                   *
;*   Optimizing for    : Speed                                                *
;*                       Based on options: -o3, no -ms                        *
;*   Endian            : Little                                               *
;*   Interrupt Thrshld : Disabled                                             *
;*   Data Access Model : Far                                                  *
;*   Pipelining        : Enabled                                              *
;*   Speculate Loads   : Disabled                                             *
;*   Memory Aliases    : Presume not aliases (optimistic)                     *
;*   Debug Info        : DWARF Debug for Program Analysis w/Optimization      *
;*                                                                            *
;******************************************************************************

	.asg	A15, FP
	.asg	B14, DP
	.asg	B15, SP
	.global	$bss


$C$DW$CU	.dwtag  DW_TAG_compile_unit
	.dwattr $C$DW$CU, DW_AT_name("my_convert.c")
	.dwattr $C$DW$CU, DW_AT_producer("TMS320C6x C/C++ Codegen PC v6.0.8 Copyright (c) 1996-2006 Texas Instruments Incorporated")
	.dwattr $C$DW$CU, DW_AT_TI_version(0x01)

$C$DW$1	.dwtag  DW_TAG_subprogram, DW_AT_name("DAT_copy")
	.dwattr $C$DW$1, DW_AT_TI_symbol_name("_DAT_copy")
	.dwattr $C$DW$1, DW_AT_type(*$C$DW$T$19)
	.dwattr $C$DW$1, DW_AT_declaration
	.dwattr $C$DW$1, DW_AT_external
$C$DW$2	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$3)
$C$DW$3	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$3)
$C$DW$4	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$31)
	.dwendtag $C$DW$1


$C$DW$5	.dwtag  DW_TAG_subprogram, DW_AT_name("DAT_wait")
	.dwattr $C$DW$5, DW_AT_TI_symbol_name("_DAT_wait")
	.dwattr $C$DW$5, DW_AT_declaration
	.dwattr $C$DW$5, DW_AT_external
$C$DW$6	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$19)
	.dwendtag $C$DW$5

	.global	_int_mem_temp
_int_mem_temp:	.usect	".user_data_int",720,128
$C$DW$7	.dwtag  DW_TAG_variable, DW_AT_name("int_mem_temp")
	.dwattr $C$DW$7, DW_AT_TI_symbol_name("_int_mem_temp")
	.dwattr $C$DW$7, DW_AT_location[DW_OP_addr _int_mem_temp]
	.dwattr $C$DW$7, DW_AT_type(*$C$DW$T$29)
	.dwattr $C$DW$7, DW_AT_external
;	C:\CCStudio_v3.3\C6000\cgtools\bin\opt6x.exe C:\\DOCUME~1\\ADMINI~1\\LOCALS~1\\Temp\\037962 C:\\DOCUME~1\\ADMINI~1\\LOCALS~1\\Temp\\037964 
	.sect	".text"
	.global	_yuv422to420

$C$DW$8	.dwtag  DW_TAG_subprogram, DW_AT_name("yuv422to420")
	.dwattr $C$DW$8, DW_AT_low_pc(_yuv422to420)
	.dwattr $C$DW$8, DW_AT_high_pc(0x00)
	.dwattr $C$DW$8, DW_AT_TI_symbol_name("_yuv422to420")
	.dwattr $C$DW$8, DW_AT_external
	.dwattr $C$DW$8, DW_AT_TI_begin_file("my_convert.c")
	.dwattr $C$DW$8, DW_AT_TI_begin_line(0x0e)
	.dwattr $C$DW$8, DW_AT_TI_begin_column(0x06)
	.dwattr $C$DW$8, DW_AT_frame_base[DW_OP_breg31 48]
	.dwattr $C$DW$8, DW_AT_TI_skeletal
	.dwpsn	file "my_convert.c",line 16,column 1,is_stmt,address _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      .L1X    SP,A31            ; |16| 
||         STW     .D2T1   A11,*SP--(48)     ; |16| 

           STDW    .D1T1   A13:A12,*-A31(40) ; |16| 
||         STDW    .D2T2   B11:B10,*+SP(24)  ; |16| 

           STDW    .D1T1   A15:A14,*-A31(32) ; |16| 
||         STDW    .D2T2   B13:B12,*+SP(32)  ; |16| 

           STW     .D1T1   A10,*-A31(4)      ; |16| 
||         STW     .D2T2   B3,*+SP(40)       ; |16| 

$C$DW$9	.dwtag  DW_TAG_formal_parameter, DW_AT_name("frameIn")
	.dwattr $C$DW$9, DW_AT_TI_symbol_name("_frameIn")
	.dwattr $C$DW$9, DW_AT_type(*$C$DW$T$24)
	.dwattr $C$DW$9, DW_AT_location[DW_OP_reg4]
$C$DW$10	.dwtag  DW_TAG_formal_parameter, DW_AT_name("frm_out")
	.dwattr $C$DW$10, DW_AT_TI_symbol_name("_frm_out")
	.dwattr $C$DW$10, DW_AT_type(*$C$DW$T$24)
	.dwattr $C$DW$10, DW_AT_location[DW_OP_reg20]
$C$DW$11	.dwtag  DW_TAG_formal_parameter, DW_AT_name("width")
	.dwattr $C$DW$11, DW_AT_TI_symbol_name("_width")
	.dwattr $C$DW$11, DW_AT_type(*$C$DW$T$10)
	.dwattr $C$DW$11, DW_AT_location[DW_OP_reg6]
$C$DW$12	.dwtag  DW_TAG_formal_parameter, DW_AT_name("height")
	.dwattr $C$DW$12, DW_AT_TI_symbol_name("_height")
	.dwattr $C$DW$12, DW_AT_type(*$C$DW$T$10)
	.dwattr $C$DW$12, DW_AT_location[DW_OP_reg22]

           MV      .L1X    B6,A0             ; |16| 
||         MVKL    .S1     _int_mem_temp,A3
||         MVKL    .S2     _DAT_copy,B5      ; |30| 
||         LDW     .D1T1   *+A4(4),A14       ; |18| 
||         LDW     .D2T2   *+B4(8),B10       ; |23| 

           MVKH    .S1     _int_mem_temp,A3
||         MVKH    .S2     _DAT_copy,B5      ; |30| 
||         MV      .L1X    B6,A11            ; |16| 
||         LDW     .D1T1   *+A4(8),A10       ; |19| 
||         LDW     .D2T2   *+B4(4),B11       ; |22| 

   [!A0]   BNOP    .S2     $C$L2,4           ; |28| 
||         MVK     .S1     0x2d0,A15
||         MV      .L1X    B6,A12            ; |16| 

           MV      .L2X    A3,B13
           ; BRANCHCC OCCURS {$C$L2}         ; |28| 
;** --------------------------------------------------------------------------*

           CALL    .S2     B5                ; |30| 
||         LDW     .D1T1   *A4,A13

           LDW     .D2T2   *B4,B12
	.dwpsn	file "my_convert.c",line 28,column 0,is_stmt
           NOP             3
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: Loop contains a call
;*----------------------------------------------------------------------------*
$C$L1:    
$C$DW$L$_yuv422to420$3$B:
	.dwpsn	file "my_convert.c",line 29,column 0,is_stmt

           EXTU    .S1     A15,16,16,A6      ; |30| 
||         MV      .L2     B13,B4            ; |30| 
||         MV      .L1     A13,A4            ; |30| 
||         ADDKPC  .S2     $C$RL0,B3,0       ; |30| 

$C$RL0:    ; CALL OCCURS {_DAT_copy}         ; |30| 
$C$DW$L$_yuv422to420$3$E:
;** --------------------------------------------------------------------------*
$C$DW$L$_yuv422to420$4$B:
           MVKL    .S1     _DAT_copy,A3      ; |31| 
           MVKH    .S1     _DAT_copy,A3      ; |31| 
           MV      .L1X    B13,A4            ; |31| 
           CALL    .S2X    A3                ; |31| 
           MV      .L2     B12,B4            ; |31| 
           EXTU    .S1     A15,16,16,A6      ; |31| 
           ADDKPC  .S2     $C$RL1,B3,2       ; |31| 
$C$RL1:    ; CALL OCCURS {_DAT_copy}         ; |31| 
           MVKL    .S2     _DAT_wait,B4      ; |32| 
           MVKH    .S2     _DAT_wait,B4      ; |32| 
           CALL    .S2     B4                ; |32| 
           ADDKPC  .S2     $C$RL2,B3,4       ; |32| 
$C$RL2:    ; CALL OCCURS {_DAT_wait}         ; |32| 
$C$DW$L$_yuv422to420$4$E:
;** --------------------------------------------------------------------------*
$C$DW$L$_yuv422to420$5$B:

           MVKL    .S2     _DAT_copy,B5      ; |30| 
||         SUB     .L1     A11,1,A0          ; |28| 

   [ A0]   B       .S1     $C$L1             ; |28| 
||         MVKH    .S2     _DAT_copy,B5      ; |30| 

   [ A0]   CALL    .S2     B5                ; |30| 
           SUB     .L1     A11,1,A11         ; |28| 
           ADDK    .S1     720,A13           ; |28| 
           ADDK    .S2     720,B12           ; |28| 
	.dwpsn	file "my_convert.c",line 33,column 0,is_stmt
           NOP             1
           ; BRANCHCC OCCURS {$C$L1}         ; |28| 
$C$DW$L$_yuv422to420$5$E:
;** --------------------------------------------------------------------------*
$C$L2:    

           SHR     .S1     A12,1,A0          ; |35| 
||         MVKL    .S2     _DAT_copy,B5      ; |37| 

           MV      .L1     A0,A11            ; |35| 
||         MV      .D1     A0,A13            ; |37| 
||         MVKH    .S2     _DAT_copy,B5      ; |37| 
||         MVK     .S1     0x168,A12

   [!A0]   BNOP    .S1     $C$L4,5           ; |35| 
           ; BRANCHCC OCCURS {$C$L4}         ; |35| 
;** --------------------------------------------------------------------------*
           CALL    .S2     B5                ; |37| 
	.dwpsn	file "my_convert.c",line 35,column 0,is_stmt
           NOP             4
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: Loop contains a call
;*----------------------------------------------------------------------------*
$C$L3:    
$C$DW$L$_yuv422to420$8$B:
	.dwpsn	file "my_convert.c",line 36,column 0,is_stmt

           EXTU    .S1     A12,16,16,A6      ; |37| 
||         MV      .L2     B13,B4            ; |37| 
||         MV      .L1     A14,A4            ; |37| 
||         ADDKPC  .S2     $C$RL3,B3,0       ; |37| 

$C$RL3:    ; CALL OCCURS {_DAT_copy}         ; |37| 
$C$DW$L$_yuv422to420$8$E:
;** --------------------------------------------------------------------------*
$C$DW$L$_yuv422to420$9$B:
           MVKL    .S1     _DAT_copy,A3      ; |38| 
           MVKH    .S1     _DAT_copy,A3      ; |38| 
           MV      .L1X    B13,A4            ; |38| 
           CALL    .S2X    A3                ; |38| 
           MV      .L2     B11,B4            ; |38| 
           EXTU    .S1     A12,16,16,A6      ; |38| 
           ADDKPC  .S2     $C$RL4,B3,2       ; |38| 
$C$RL4:    ; CALL OCCURS {_DAT_copy}         ; |38| 
           MVKL    .S2     _DAT_wait,B4      ; |39| 
           MVKH    .S2     _DAT_wait,B4      ; |39| 
           CALL    .S2     B4                ; |39| 
           ADDKPC  .S2     $C$RL5,B3,4       ; |39| 
$C$RL5:    ; CALL OCCURS {_DAT_wait}         ; |39| 
$C$DW$L$_yuv422to420$9$E:
;** --------------------------------------------------------------------------*
$C$DW$L$_yuv422to420$10$B:

           MVKL    .S2     _DAT_copy,B5      ; |37| 
||         SUB     .L1     A13,1,A0          ; |35| 

   [ A0]   B       .S1     $C$L3             ; |35| 
||         MVKH    .S2     _DAT_copy,B5      ; |37| 

   [ A0]   CALL    .S2     B5                ; |37| 
           SUB     .L1     A13,1,A13         ; |35| 
           ADDK    .S1     720,A14           ; |35| 
           ADDK    .S2     360,B11           ; |35| 
	.dwpsn	file "my_convert.c",line 40,column 0,is_stmt
           NOP             1
           ; BRANCHCC OCCURS {$C$L3}         ; |35| 
$C$DW$L$_yuv422to420$10$E:
;** --------------------------------------------------------------------------*
$C$L4:    

           MV      .L1     A11,A0            ; |44| 
||         MVKL    .S2     _DAT_copy,B5      ; |44| 

   [!A0]   BNOP    .S1     $C$L6,5           ; |42| 
||         MVKH    .S2     _DAT_copy,B5      ; |44| 

           ; BRANCHCC OCCURS {$C$L6}         ; |42| 
;** --------------------------------------------------------------------------*
           CALL    .S2     B5                ; |44| 
	.dwpsn	file "my_convert.c",line 42,column 0,is_stmt
           NOP             4
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: Loop contains a call
;*----------------------------------------------------------------------------*
$C$L5:    
$C$DW$L$_yuv422to420$13$B:
	.dwpsn	file "my_convert.c",line 43,column 0,is_stmt

⌨️ 快捷键说明

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