?? my_convert.asm
字號(hào):
;******************************************************************************
;* TMS320C6x C/C++ Codegen PC v5.0.0 *
;* Date/Time created: Fri Mar 31 17:58:12 2006 *
;******************************************************************************
.compiler_opts --endian=little --memory_model=all_far --quiet --silicon_version=6400
;******************************************************************************
;* 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 : Optimized w/Profiling Info *
;* *
;******************************************************************************
.asg A15, FP
.asg B14, DP
.asg B15, SP
.global $bss
DW$CU .dwtag DW_TAG_compile_unit
.dwattr DW$CU, DW_AT_name("my_convert.c")
.dwattr DW$CU, DW_AT_producer("TMS320C6x C/C++ Codegen PC v5.0.0 Copyright (c) 1996-2004 Texas Instruments Incorporated")
.dwattr DW$CU, DW_AT_stmt_list(0x00)
.dwattr DW$CU, DW_AT_TI_VERSION(0x01)
DW$1 .dwtag DW_TAG_subprogram, DW_AT_name("DAT_copy"), DW_AT_symbol_name("_DAT_copy")
.dwattr DW$1, DW_AT_type(*DW$T$19)
.dwattr DW$1, DW_AT_declaration(0x01)
.dwattr DW$1, DW_AT_external(0x01)
DW$2 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$3)
DW$3 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$3)
DW$4 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$31)
.dwendtag DW$1
DW$5 .dwtag DW_TAG_subprogram, DW_AT_name("DAT_wait"), DW_AT_symbol_name("_DAT_wait")
.dwattr DW$5, DW_AT_declaration(0x01)
.dwattr DW$5, DW_AT_external(0x01)
DW$6 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$19)
.dwendtag DW$5
.global _int_mem_temp
_int_mem_temp: .usect ".user_data_int",720,128
DW$7 .dwtag DW_TAG_variable, DW_AT_name("int_mem_temp"), DW_AT_symbol_name("_int_mem_temp")
.dwattr DW$7, DW_AT_location[DW_OP_addr _int_mem_temp]
.dwattr DW$7, DW_AT_type(*DW$T$29)
.dwattr DW$7, DW_AT_external(0x01)
; C:\CCStudio\C6000\cgtools\bin\opt6x.exe C:\DOCUME~1\new\LOCALS~1\Temp\TI2362 C:\DOCUME~1\new\LOCALS~1\Temp\TI2365
.sect ".text"
.global _yuv422to420
DW$8 .dwtag DW_TAG_subprogram, DW_AT_name("yuv422to420"), DW_AT_symbol_name("_yuv422to420")
.dwattr DW$8, DW_AT_low_pc(_yuv422to420)
.dwattr DW$8, DW_AT_high_pc(0x00)
.dwattr DW$8, DW_AT_begin_file("my_convert.c")
.dwattr DW$8, DW_AT_begin_line(0x0e)
.dwattr DW$8, DW_AT_begin_column(0x06)
.dwattr DW$8, DW_AT_frame_base[DW_OP_breg31 48]
.dwattr DW$8, DW_AT_skeletal(0x01)
.dwpsn "my_convert.c",16,1
;******************************************************************************
;* 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:
;** --------------------------------------------------------------------------*
DW$9 .dwtag DW_TAG_formal_parameter, DW_AT_name("frameIn"), DW_AT_symbol_name("_frameIn")
.dwattr DW$9, DW_AT_type(*DW$T$24)
.dwattr DW$9, DW_AT_location[DW_OP_reg4]
DW$10 .dwtag DW_TAG_formal_parameter, DW_AT_name("frm_out"), DW_AT_symbol_name("_frm_out")
.dwattr DW$10, DW_AT_type(*DW$T$24)
.dwattr DW$10, DW_AT_location[DW_OP_reg20]
DW$11 .dwtag DW_TAG_formal_parameter, DW_AT_name("width"), DW_AT_symbol_name("_width")
.dwattr DW$11, DW_AT_type(*DW$T$10)
.dwattr DW$11, DW_AT_location[DW_OP_reg6]
DW$12 .dwtag DW_TAG_formal_parameter, DW_AT_name("height"), DW_AT_symbol_name("_height")
.dwattr DW$12, DW_AT_type(*DW$T$10)
.dwattr DW$12, DW_AT_location[DW_OP_reg22]
MV .D1X SP,A31 ; |16|
STW .D2T1 A15,*SP--(48) ; |16|
|| MV .D1X B6,A0
[!A0] B .S1 L2 ; |28|
|| STW .D1T1 A14,*-A31(24)
|| STDW .D2T2 B13:B12,*+SP(40)
STDW .D1T1 A13:A12,*-A31(32)
|| STDW .D2T2 B11:B10,*+SP(32)
|| MVK .S1 0x2d0,A15
STW .D2T2 B3,*+SP(28)
|| [!A0] MVKL .S1 _int_mem_temp,A15
|| STDW .D1T1 A11:A10,*-A31(40)
|| MV .S2 B6,B13 ; |16|
LDW .D1T1 *+A4(4),A14 ; |18|
|| LDW .D2T2 *B4,B11 ; |21|
|| MVKL .S1 _int_mem_temp,A12
LDW .D1T1 *+A4(8),A11 ; |19|
|| [!A0] MV .L1X B13,A3
|| MVKH .S1 _int_mem_temp,A12
|| LDW .D2T2 *+B4(4),B12 ; |22|
|| [ A0] MVKL .S2 _DAT_copy,B5 ; |30|
[!A0] SHR .S1 A3,1,A0 ; |35|
|| LDW .D1T1 *A4,A13 ; |17|
|| LDW .D2T2 *+B4(8),B10 ; |23|
|| MV .L1X B6,A10 ; |16|
|| [ A0] MVKH .S2 _DAT_copy,B5 ; |30|
; BRANCHCC OCCURS {L2} ; |28|
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: Loop contains a call
;*----------------------------------------------------------------------------*
L1:
DW$L$_yuv422to420$2$B:
.dwpsn "my_convert.c",29,0
CALL .S2 B5 ; |30|
ADDKPC .S2 RL0,B3,1 ; |30|
EXTU .S1 A15,16,16,A6 ; |30|
MV .D2X A12,B4 ; |30|
MV .D1 A13,A4 ; |30|
RL0: ; CALL OCCURS ; |30|
DW$L$_yuv422to420$2$E:
;** --------------------------------------------------------------------------*
DW$L$_yuv422to420$3$B:
MVKL .S1 _DAT_copy,A3 ; |31|
MVKH .S1 _DAT_copy,A3 ; |31|
EXTU .S1 A15,16,16,A6 ; |31|
CALL .S2X A3 ; |31|
ADDKPC .S2 RL1,B3,2 ; |31|
MV .D2 B11,B4 ; |31|
MV .D1 A12,A4 ; |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|
ADDK .S1 720,A13 ; |28|
|| ADDK .S2 720,B11 ; |28|
|| SUB .L1 A10,1,A10 ; |28|
|| SUB .D1 A10,1,A0 ; |28|
[ A0] BNOP .S1 L1,3 ; |28|
|| [ A0] MVKL .S2 _DAT_copy,B5 ; |30|
[!A0] MV .D1X B13,A3
|| [!A0] MVKL .S1 _int_mem_temp,A15
|| [ A0] MVKH .S2 _DAT_copy,B5 ; |30|
.dwpsn "my_convert.c",33,0
[!A0] SHR .S1 A3,1,A0 ; |35|
; BRANCHCC OCCURS {L1} ; |28|
DW$L$_yuv422to420$3$E:
;** --------------------------------------------------------------------------*
;** --------------------------------------------------------------------------*
L2:
[!A0] BNOP .S1 L4,1 ; |35|
MVK .S1 0x168,A12
MVKH .S1 _int_mem_temp,A15
|| MV .D1 A0,A10 ; |37|
[!A0] MVKL .S1 _int_mem_temp,A10
|| MV .D1 A0,A13 ; |35|
|| [ A0] MVKL .S2 _DAT_copy,B5 ; |37|
[!A0] MV .D1 A13,A0
|| [!A0] MVKH .S1 _int_mem_temp,A10
|| [ A0] MVKH .S2 _DAT_copy,B5 ; |37|
; BRANCHCC OCCURS {L4} ; |35|
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: Loop contains a call
;*----------------------------------------------------------------------------*
L3:
DW$L$_yuv422to420$6$B:
.dwpsn "my_convert.c",36,0
CALL .S2 B5 ; |37|
ADDKPC .S2 RL3,B3,1 ; |37|
EXTU .S1 A12,16,16,A6 ; |37|
MV .D2X A15,B4 ; |37|
MV .D1 A14,A4 ; |37|
RL3: ; CALL OCCURS ; |37|
DW$L$_yuv422to420$6$E:
;** --------------------------------------------------------------------------*
DW$L$_yuv422to420$7$B:
MVKL .S1 _DAT_copy,A3 ; |38|
MVKH .S1 _DAT_copy,A3 ; |38|
EXTU .S1 A12,16,16,A6 ; |38|
CALL .S2X A3 ; |38|
ADDKPC .S2 RL4,B3,2 ; |38|
MV .D2 B12,B4 ; |38|
MV .D1 A15,A4 ; |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|
ADDK .S1 720,A14 ; |35|
|| ADDK .S2 360,B12 ; |35|
|| SUB .L1 A10,1,A10 ; |35|
|| SUB .D1 A10,1,A0 ; |35|
[ A0] BNOP .S1 L3,3 ; |35|
|| [ A0] MVKL .S2 _DAT_copy,B5 ; |37|
[!A0] MVKL .S1 _int_mem_temp,A10
|| [ A0] MVKH .S2 _DAT_copy,B5 ; |37|
.dwpsn "my_convert.c",40,0
[!A0] MV .D1 A13,A0
|| [!A0] MVKH .S1 _int_mem_temp,A10
; BRANCHCC OCCURS {L3} ; |35|
DW$L$_yuv422to420$7$E:
;** --------------------------------------------------------------------------*
;** --------------------------------------------------------------------------*
L4:
[!A0] B .S1 L6 ; |42|
|| [ A0] MVKL .S2 _DAT_copy,B5 ; |44|
[ A0] MVKH .S2 _DAT_copy,B5 ; |44|
|| [!A0] LDW .D2T2 *+SP(28),B3 ; |50|
|| [!A0] MV .D1X SP,A31 ; |50|
NOP 1
[!A0] LDDW .D1T1 *+A31(16),A13:A12 ; |50|
[!A0] LDDW .D1T1 *+A31(8),A11:A10 ; |50|
[!A0] LDDW .D2T2 *+SP(32),B11:B10 ; |50|
; BRANCHCC OCCURS {L6} ; |42|
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: Loop contains a call
;*----------------------------------------------------------------------------*
L5:
DW$L$_yuv422to420$10$B:
.dwpsn "my_convert.c",43,0
CALL .S2 B5 ; |44|
ADDKPC .S2 RL6,B3,3 ; |44|
MV .D1 A11,A4 ; |44|
|| MV .D2X A10,B4 ; |44|
|| EXTU .S1 A12,16,16,A6 ; |44|
RL6: ; CALL OCCURS ; |44|
DW$L$_yuv422to420$10$E:
;** --------------------------------------------------------------------------*
DW$L$_yuv422to420$11$B:
MVKL .S1 _DAT_copy,A3 ; |45|
MVKH .S1 _DAT_copy,A3 ; |45|
EXTU .S1 A12,16,16,A6 ; |45|
CALL .S2X A3 ; |45|
ADDKPC .S2 RL7,B3,2 ; |45|
MV .D2 B10,B4 ; |45|
MV .D1 A10,A4 ; |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|
ADDK .S1 720,A11 ; |42|
|| ADDK .S2 360,B10 ; |42|
|| SUB .L1 A13,1,A13 ; |42|
|| SUB .D1 A13,1,A0 ; |42|
[ A0] MVKL .S2 _DAT_copy,B5 ; |44|
|| [ A0] B .S1 L5 ; |42|
[!A0] MV .D1X SP,A31 ; |50|
|| [!A0] LDW .D2T2 *+SP(28),B3 ; |50|
|| [ A0] MVKH .S2 _DAT_copy,B5 ; |44|
NOP 1
[!A0] LDDW .D1T1 *+A31(16),A13:A12 ; |50|
[!A0] LDDW .D2T2 *+SP(32),B11:B10 ; |50|
.dwpsn "my_convert.c",47,0
[!A0] LDDW .D1T1 *+A31(8),A11:A10 ; |50|
; BRANCHCC OCCURS {L5} ; |42|
DW$L$_yuv422to420$11$E:
;** --------------------------------------------------------------------------*
;** --------------------------------------------------------------------------*
L6:
RET .S2 B3 ; |50|
|| LDW .D1T1 *+A31(24),A14 ; |50|
|| LDDW .D2T2 *+SP(40),B13:B12 ; |50|
LDW .D2T1 *++SP(48),A15 ; |50|
.dwpsn "my_convert.c",50,1
NOP 4
; BRANCH OCCURS {B3} ; |50|
DW$13 .dwtag DW_TAG_loop
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -