📄 my_convert.asm
字号:
.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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -