📄 my_convert.asm
字号:
;******************************************************************************
;* 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 + -