my_convert.asm
上传用户:dahaojd
上传日期:2008-01-29
资源大小:14357k
文件大小:23k
- ;******************************************************************************
- ;* TMS320C6x C/C++ Codegen PC Version 4.36 *
- ;* Date/Time created: Wed Mar 22 15:36:27 2006 *
- ;******************************************************************************
- ;******************************************************************************
- ;* 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
- ; c:tic6000cgtoolsbinopt6x.exe -t -DI0 -v6400 -q -O3 C:DOCUME~1ZHAOQI~1LOCALS~1TempTI2924_2 C:DOCUME~1ZHAOQI~1LOCALS~1TempTI2924_5 -w C:/ICETEK-DM642-C V2.22/jpeg_motion/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"
- .global _yuv420to422
- ;******************************************************************************
- ;* FUNCTION NAME: _yuv420to422 *
- ;* *
- ;* 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 *
- ;******************************************************************************
- _yuv420to422:
- ;** --------------------------------------------------------------------------*
- MV .D1X SP,A31 ; |54|
- STW .D2T1 A15,*SP--(48) ; |54|
- || MV .D1X B6,A0 ; |54|
- [!A0] B .S1 L8 ; |66|
- || STDW .D1T1 A11:A10,*-A31(40)
- || STDW .D2T2 B13:B12,*+SP(40)
- STDW .D2T2 B11:B10,*+SP(32)
- || STDW .D1T1 A13:A12,*-A31(32)
- LDW .D2T2 *B4,B12 ; |59|
- || STW .D1T1 A14,*-A31(24)
- LDW .D2T2 *+B4(8),B11 ; |61|
- || LDW .D1T1 *+A4(8),A13 ; |57|
- || MVKL .S1 _int_mem_temp,A11
- LDW .D2T2 *+B4(4),B10 ; |60|
- || MVK .S1 0x2d0,A12
- || LDW .D1T1 *+A4(4),A14 ; |56|
- STW .D2T2 B3,*+SP(28)
- || MVKH .S1 _int_mem_temp,A11
- || LDW .D1T1 *A4,A10 ; |55|
- || MV .S2 B6,B13 ; |54|
- || MV .L1X B6,A15 ; |54|
- ; BRANCH OCCURS ; |66|
- ;*----------------------------------------------------------------------------*
- ;* SOFTWARE PIPELINE INFORMATION
- ;* Disqualified loop: Loop contains a call
- ;*----------------------------------------------------------------------------*
- L7:
- MVKL .S2 _DAT_copy,B5 ; |68|
- MVKH .S2 _DAT_copy,B5 ; |68|
- CALL .S2 B5 ; |68|
- ADDKPC .S2 RL9,B3,1 ; |68|
- EXTU .S1 A12,16,16,A6 ; |68|
- MV .D2X A11,B4 ; |68|
- MV .D1 A10,A4 ; |68|
- RL9: ; CALL OCCURS ; |68|
- MVKL .S1 _DAT_copy,A3 ; |69|
- MVKH .S1 _DAT_copy,A3 ; |69|
- MV .D1 A11,A4 ; |69|
- CALL .S2X A3 ; |69|
- EXTU .S1 A12,16,16,A6 ; |69|
- MV .D2 B12,B4 ; |69|
- ADDKPC .S2 RL10,B3,2 ; |69|
- RL10: ; CALL OCCURS ; |69|
- MVKL .S2 _DAT_wait,B4 ; |70|
- MVKH .S2 _DAT_wait,B4 ; |70|
- CALL .S2 B4 ; |70|
- ADDKPC .S2 RL11,B3,4 ; |70|
- RL11: ; CALL OCCURS ; |70|
- SUB .D1X B13,1,A0 ; |71|
- [ A0] BNOP .S1 L7,4 ; |71|
- SUB .D2 B13,1,B13 ; |71|
- || ADDK .S1 720,A10 ; |71|
- || ADDK .S2 720,B12 ; |71|
- ; BRANCH OCCURS ; |71|
- ;** --------------------------------------------------------------------------*
- L8:
- MV .D2X A15,B4
- SHR .S2 B4,1,B4 ; |73|
- MVK .S1 0x168,A11
- MV .D1X B4,A0
- [!A0] BNOP .S1 L10,2 ; |73|
- MV .D1X B4,A12
- MVK .S2 360,B4
- || MV .D1X B4,A10
- || MVKL .S1 _int_mem_temp,A15
- ADD .D2 B4,B10,B12
- || MVKH .S1 _int_mem_temp,A15
- || [!A0] MV .D1 A10,A0
- ; BRANCH OCCURS ; |73|
- ;** --------------------------------------------------------------------------*
- MVKL .S1 _DAT_copy,A3 ; |75|
- MVKH .S1 _DAT_copy,A3 ; |75|
- NOP 1
- ;*----------------------------------------------------------------------------*
- ;* SOFTWARE PIPELINE INFORMATION
- ;* Disqualified loop: Loop contains a call
- ;*----------------------------------------------------------------------------*
- L9:
- CALL .S2X A3 ; |75|
- ADDKPC .S2 RL12,B3,1 ; |75|
- MV .D2X A15,B4 ; |75|
- MV .D1 A14,A4 ; |75|
- EXTU .S1 A11,16,16,A6 ; |75|
- RL12: ; CALL OCCURS ; |75|
- MVKL .S2 _DAT_copy,B5 ; |76|
- MVKH .S2 _DAT_copy,B5 ; |76|
- CALL .S2 B5 ; |76|
- EXTU .S1 A11,16,16,A6 ; |76|
- MV .D1 A15,A4 ; |76|
- MV .D2 B10,B4 ; |76|
- ADDKPC .S2 RL13,B3,1 ; |76|
- RL13: ; CALL OCCURS ; |76|
- MVKL .S1 _DAT_copy,A3 ; |77|
- MVKH .S1 _DAT_copy,A3 ; |77|
- EXTU .S1 A11,16,16,A6 ; |77|
- CALL .S2X A3 ; |77|
- MV .D1 A15,A4 ; |77|
- MV .D2 B12,B4 ; |77|
- ADDKPC .S2 RL14,B3,2 ; |77|
- RL14: ; CALL OCCURS ; |77|
- MVKL .S2 _DAT_wait,B4 ; |78|
- MVKH .S2 _DAT_wait,B4 ; |78|
- CALL .S2 B4 ; |78|
- ADDKPC .S2 RL15,B3,4 ; |78|
- RL15: ; CALL OCCURS ; |78|
- SUB .D1 A12,1,A0 ; |79|
- [ A0] B .S1 L9 ; |79|
- ADDK .S2 720,B10 ; |79|
- ADDK .S1 360,A14 ; |79|
- || SUB .D1 A12,1,A12 ; |79|
- || ADDK .S2 720,B12 ; |79|
- [ A0] MVKL .S1 _DAT_copy,A3 ; |75|
- [!A0] MV .D1 A10,A0
- || [ A0] MVKH .S1 _DAT_copy,A3 ; |75|
- NOP 1
- ; BRANCH OCCURS ; |79|
- ;** --------------------------------------------------------------------------*
- L10:
- [!A0] B .S1 L12 ; |81|
- MVKL .S1 _int_mem_temp,A12
- MVK .S1 0x168,A14
- || MVK .S2 360,B4
- ADD .S2 B4,B11,B10
- || MVKH .S1 _int_mem_temp,A12
- || MV .D1 A10,A11
- || [!A0] LDW .D2T2 *+SP(28),B3 ; |90|
- [ A0] MVKL .S1 _DAT_copy,A3 ; |83|
- [ A0] MVKH .S1 _DAT_copy,A3 ; |83|
- || [!A0] MV .D1X SP,A31 ; |90|
- ; BRANCH OCCURS ; |81|
- ;** --------------------------------------------------------------------------*
- NOP 1
- ;*----------------------------------------------------------------------------*
- ;* SOFTWARE PIPELINE INFORMATION
- ;* Disqualified loop: Loop contains a call
- ;*----------------------------------------------------------------------------*
- L11:
- CALL .S2X A3 ; |83|
- NOP 1
- EXTU .S1 A14,16,16,A6 ; |83|
- MV .D1 A13,A4 ; |83|
- MV .D2X A12,B4 ; |83|
- ADDKPC .S2 RL16,B3,0 ; |83|
- RL16: ; CALL OCCURS ; |83|
- MVKL .S2 _DAT_copy,B5 ; |84|
- MVKH .S2 _DAT_copy,B5 ; |84|
- CALL .S2 B5 ; |84|
- MV .D1 A12,A4 ; |84|
- EXTU .S1 A14,16,16,A6 ; |84|
- MV .D2 B11,B4 ; |84|
- ADDKPC .S2 RL17,B3,1 ; |84|
- RL17: ; CALL OCCURS ; |84|
- MVKL .S1 _DAT_copy,A3 ; |85|
- MVKH .S1 _DAT_copy,A3 ; |85|
- MV .D1 A12,A4 ; |85|
- CALL .S2X A3 ; |85|
- EXTU .S1 A14,16,16,A6 ; |85|
- MV .D2 B10,B4 ; |85|
- ADDKPC .S2 RL18,B3,2 ; |85|
- RL18: ; CALL OCCURS ; |85|
- MVKL .S2 _DAT_wait,B4 ; |86|
- MVKH .S2 _DAT_wait,B4 ; |86|
- CALL .S2 B4 ; |86|
- ADDKPC .S2 RL19,B3,4 ; |86|
- RL19: ; CALL OCCURS ; |86|
- SUB .D1 A11,1,A0 ; |87|
- [ A0] B .S1 L11 ; |87|
- ADDK .S2 720,B11 ; |87|
- ADDK .S1 360,A13 ; |87|
- || SUB .D1 A11,1,A11 ; |87|
- || ADDK .S2 720,B10 ; |87|
- [ A0] MVKL .S1 _DAT_copy,A3 ; |83|
- [!A0] LDW .D2T2 *+SP(28),B3 ; |90|
- || [ A0] MVKH .S1 _DAT_copy,A3 ; |83|
- NOP 1
- ; BRANCH OCCURS ; |87|
- ;** --------------------------------------------------------------------------*
- MV .D1X SP,A31 ; |90|
- ;** --------------------------------------------------------------------------*
- L12:
- LDDW .D1T1 *+A31(16),A13:A12 ; |90|
- LDDW .D1T1 *+A31(8),A11:A10 ; |90|
- || LDDW .D2T2 *+SP(32),B11:B10 ; |90|
- RET .S2 B3 ; |90|
- || LDW .D1T1 *+A31(24),A14 ; |90|
- || LDDW .D2T2 *+SP(40),B13:B12 ; |90|
- LDW .D2T1 *++SP(48),A15 ; |90|
- NOP 4
- ; BRANCH OCCURS ; |90|
- ;******************************************************************************
- ;* UNDEFINED EXTERNAL REFERENCES *
- ;******************************************************************************
- .global _DAT_copy
- .global _DAT_wait