📄 tijpeg.asm
字号:
;* 6 LDBU .D2T2 *++B6(8),B4 ; |132| ^
;* 7 NOP 4
;* 11 STB .D2T2 B4,*+B5(1) ; |132| ^
;* 12 LDBU .D2T2 *+B6(2),B4 ; |133| ^
;* 13 NOP 4
;* 17 STB .D2T2 B4,*+B5(2) ; |133| ^
;* 18 LDBU .D1T2 *+A4(6),B4 ; |134| ^
;* 19 NOP 4
;* 23 STB .D2T2 B4,*+B5(3) ; |134| ^
;* 24 LDBU .D1T1 *+A4(3),A3 ; |135| ^
;* 25 NOP 4
;* 29 STB .D1T1 A3,*++A5(2) ; |135| ^
;* 30 LDBU .D1T1 *+A4(7),A3 ; |136| ^
;* || [ A0] BDEC .S1 C30,A0 ; |141|
;* 31 NOP 4
;* 35 STB .D1T1 A3,*+A5(1) ; |136| ^
;* ; BRANCH OCCURS ; |141|
;*----------------------------------------------------------------------------*
L6: ; PIPED LOOP PROLOG
;** --------------------------------------------------------------------------*
L7: ; PIPED LOOP KERNEL
LDBU .D1T1 *++A4(8),A3 ; |131| <0,0> ^
NOP 4
STB .D2T1 A3,*++B5(4) ; |131| <0,5> ^
LDBU .D2T2 *++B6(8),B4 ; |132| <0,6> ^
NOP 4
STB .D2T2 B4,*+B5(1) ; |132| <0,11> ^
LDBU .D2T2 *+B6(2),B4 ; |133| <0,12> ^
NOP 4
STB .D2T2 B4,*+B5(2) ; |133| <0,17> ^
LDBU .D1T2 *+A4(6),B4 ; |134| <0,18> ^
NOP 4
STB .D2T2 B4,*+B5(3) ; |134| <0,23> ^
LDBU .D1T1 *+A4(3),A3 ; |135| <0,24> ^
NOP 4
STB .D1T1 A3,*++A5(2) ; |135| <0,29> ^
[ A0] BDEC .S1 L7,A0 ; |141| <0,30>
|| LDBU .D1T1 *+A4(7),A3 ; |136| <0,30> ^
NOP 4
STB .D1T1 A3,*+A5(1) ; |136| <0,35> ^
;** --------------------------------------------------------------------------*
L8: ; PIPED LOOP EPILOG
;** --------------------------------------------------------------------------*
ADD .D1 2,A5,A7
|| ADD .S1 8,A4,A4
|| ADD .D2 4,B5,B4
SUB .D2 B0,1,B0 ; |142|
;** --------------------------------------------------------------------------*
L9:
[ B0] BNOP .S1 L1,4 ; |142|
[ B0] CMPGT .L1 A8,0,A0 ; |115|
; BRANCH OCCURS ; |142|
;** --------------------------------------------------------------------------*
L10:
RETNOP .S2 B3,5 ; |143|
; BRANCH OCCURS ; |143|
.sect ".text"
.global _JPEG_enc
;******************************************************************************
;* FUNCTION NAME: _JPEG_enc *
;* *
;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6, *
;* B7,B8,B9,B10,B11,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,B0,B1,B2,B3,B4,B5,B6, *
;* B7,B8,B9,B10,B11,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 + 32 Auto + 12 Save = 44 byte *
;******************************************************************************
_JPEG_enc:
;** --------------------------------------------------------------------------*
MVKL .S2 _s_nHeight,B5 ; |154|
MVKH .S2 _s_nHeight,B5 ; |154|
|| MVKL .S1 _s_nWidth,A3 ; |154|
LDW .D2T2 *B5,B5 ; |154|
|| MVKH .S1 _s_nWidth,A3 ; |154|
LDW .D1T2 *A3,B6 ; |154|
MVKL .S1 _CACHE_clean,A7 ; |157|
MVKH .S1 _CACHE_clean,A7 ; |157|
STW .D2T2 B11,*SP--(48) ; |146|
STW .D2T2 B13,*+SP(44) ; |146|
MPYLH .M2 B5,B6,B8 ; |154|
MPYLH .M2 B6,B5,B7 ; |154|
MVKL .S1 _framenum$1,A3 ; |151|
ADD .D2 B8,B7,B5 ; |154|
|| MVKH .S1 _framenum$1,A3 ; |151|
|| MPYU .M2 B5,B6,B6 ; |154|
LDW .D1T1 *A3,A5 ; |151|
|| SHL .S2 B5,16,B5 ; |154|
CALL .S2X A7 ; |157|
ADD .S2 B6,B5,B5 ; |154|
|| STW .D2T2 B4,*+SP(8) ; |153|
ADDAW .D2 B5,B5,B6 ; |155|
|| MV .S2 B3,B13 ; |146|
|| MV .L2X A6,B11 ; |146|
SHR .S2 B6,2,B5 ; |155|
|| ADD .L2 B4,B5,B6 ; |154|
|| MVKL .S1 _framenum$1,A3 ; |151|
|| STW .D2T2 B10,*+SP(40) ; |146|
STW .D2T2 B6,*+SP(12) ; |154|
|| ADD .S2 B4,B5,B4 ; |155|
|| MVKH .S1 _framenum$1,A3 ; |151|
|| ADD .D1 1,A5,A4 ; |151|
|| MV .L2X A4,B10 ; |146|
ADDKPC .S2 RL11,B3,0 ; |157|
|| ZERO .L2 B4 ; |157|
|| STW .D2T2 B4,*+SP(16) ; |155|
|| MVK .S1 0x1,A4 ; |157|
|| STW .D1T1 A4,*A3 ; |151|
|| ZERO .L1 A6 ; |157|
RL11: ; CALL OCCURS ; |157|
MVKL .S2 _yuyv2yyyyuv,B5 ; |159|
MVKH .S2 _yuyv2yyyyuv,B5 ; |159|
|| LDW .D2T2 *+SP(16),B6 ; |159|
CALL .S2 B5 ; |159|
|| LDW .D2T2 *+SP(8),B4 ; |159|
LDW .D2T1 *+SP(12),A6 ; |159|
ADDKPC .S2 RL12,B3,2 ; |159|
MV .D1X B10,A4 ; |159|
RL12: ; CALL OCCURS ; |159|
MVKL .S1 _chan,A3 ; |162|
MVKH .S1 _chan,A3 ; |162|
LDW .D1T1 *A3,A3 ; |162|
ADD .D2 8,SP,B5 ; |55|
MVK .D1 12,A4 ; |56|
MVKL .S1 _CACHE_clean,A5 ; |169|
MVKH .S1 _CACHE_clean,A5 ; |169|
LDW .D1T2 *+A3(32),B4 ; |162|
NOP 2
MVKL .S1 _chan+8,A6 ; |160|
MVKH .S1 _chan+8,A6 ; |160|
LDW .D2T2 *B4,B4 ; |162|
NOP 2
STW .D2T2 B10,*+SP(28) ; |165|
STW .D2T2 B11,*+SP(24) ; |164|
STW .D2T2 B5,*B4 ; |55|
STW .D2T1 A4,*+B4(4) ; |56|
LDW .D1T1 *+A3(40),A3 ; |167|
NOP 3
ADD .D2 SP,24,B4 ; |55|
LDW .D1T1 *A3,A3 ; |167|
ZERO .D1 A4 ; |160|
CALL .S2X A5 ; |169|
STW .D1T1 A4,*A6 ; |160|
MVK .S1 8,A4 ; |56|
STW .D1T2 B4,*A3 ; |55|
STW .D1T1 A4,*+A3(4) ; |56|
ADDKPC .S2 RL13,B3,0 ; |169|
|| ZERO .D1 A6 ; |169|
|| ZERO .D2 B4 ; |169|
|| MVK .S1 0x1,A4 ; |169|
RL13: ; CALL OCCURS ; |169|
MVKL .S2 _CHAN_execute,B5 ; |171|
MVKL .S2 _framenum$1,B4 ; |171|
MVKH .S2 _CHAN_execute,B5 ; |171|
MVKH .S2 _framenum$1,B4 ; |171|
CALL .S2 B5 ; |171|
LDW .D2T2 *B4,B4 ; |171|
MVKL .S2 _chan,B6 ; |171|
MVKH .S2 _chan,B6 ; |171|
ADDKPC .S2 RL14,B3,0 ; |171|
MV .D1X B6,A4 ; |171|
RL14: ; CALL OCCURS ; |171|
LDW .D2T2 *+SP(40),B10 ; |174|
|| MV .S2 B13,B3 ; |174|
RET .S2 B3 ; |174|
|| LDW .D2T2 *+SP(44),B13 ; |174|
LDW .D2T2 *++SP(48),B11 ; |174|
NOP 4
; BRANCH OCCURS ; |174|
.sect ".text"
.global _JPEG_control
;******************************************************************************
;* FUNCTION NAME: _JPEG_control *
;* *
;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6, *
;* B7,B8,B9,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,B0,B1,B2,B3,B4,B5,B6, *
;* B7,B8,B9,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 + 4 Save = 4 byte *
;******************************************************************************
_JPEG_control:
;** --------------------------------------------------------------------------*
MVKL .S2 _s_nHeight,B8 ; |179|
MVKL .S2 _s_nWidth,B7 ; |178|
|| CMPEQ .L1 A6,0,A8 ; |182|
|| MVK .S1 100,A9 ; |182|
CMPGTU .L1 A6,A9,A6 ; |182|
|| MVKL .S2 _IJPEGENC_PARAMS,B5 ; |185|
|| MV .D1 A6,A7 ; |177|
OR .D1 A8,A6,A0
|| MVKL .S2 _s_nOutHeight,B9 ; |180|
|| MVKL .S1 _IJPEGENC_PARAMS+24,A3 ; |184|
[ A0] B .S1 L11 ; |182|
|| MVKH .S2 _s_nHeight,B8 ; |179|
MVKH .S2 _s_nWidth,B7 ; |178|
|| MVKL .S1 _cell+8,A5 ; |195|
MVKH .S2 _IJPEGENC_PARAMS,B5 ; |185|
|| MVKL .S1 _cell,A4 ; |195|
|| STW .D2T2 B3,*SP--(8) ; |177|
|| MV .L2X A4,B6 ; |177|
MVKH .S1 _IJPEGENC_PARAMS+24,A3 ; |184|
|| STW .D2T2 B4,*B8 ; |179|
|| MVKH .S2 _s_nOutHeight,B9 ; |180|
SHR .S2 B6,1,B7 ; |189|
|| AND .L2 -16,B4,B8 ; |180|
|| STW .D2T2 B6,*B7 ; |178|
|| MVKH .S1 _cell+8,A5 ; |195|
SHR .S2 B8,1,B9 ; |186|
|| MV .L1X B5,A6 ; |185|
|| MVK .L2 0x1,B4 ; |195|
|| STW .D2T2 B8,*B9 ; |180|
|| MVKH .S1 _cell,A4 ; |195|
|| [!A0] LDW .D1T1 *A5,A5 ; |195|
; BRANCH OCCURS ; |182|
;** --------------------------------------------------------------------------*
NOP 2
STW .D1T1 A7,*A3 ; |184|
STW .D2T2 B9,*+B5(36) ; |187|
LDW .D1T1 *+A5(4),A3 ; |195|
LDW .D2T2 *++SP(8),B3 ; |202|
STW .D2T2 B7,*+B5(56) ; |192|
STW .D2T2 B7,*+B5(60) ; |193|
STW .D2T2 B8,*+B5(28) ; |185|
CALLRET .S2X A3 ; |195|
STW .D2T2 B7,*+B5(44) ; |189|
STW .D2T2 B7,*+B5(48) ; |190|
STW .D2T2 B6,*+B5(40) ; |188|
STW .D2T2 B6,*+B5(52) ; |191|
STW .D2T2 B9,*+B5(32) ; |186|
RL15: ; CALL OCCURS ; |202| ; bypass _JPEG_control upon return
;** --------------------------------------------------------------------------*
L11:
LDW .D2T2 *++SP(8),B3 ; |202|
NOP 4
RETNOP .S2 B3,5 ; |202|
; BRANCH OCCURS ; |202|
;******************************************************************************
;* STRINGS *
;******************************************************************************
.sect ".const"
SL1: .string 0
SL2: .string "JPEGENC",0
;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES *
;******************************************************************************
.global _ICC_init
.global _JPEGENC_TI_init
.global _ICC_linearCreate
.global _ACPY2_6X1X_init
.global _DMAN_init
.global _DMAN_setup
.global _CHAN_execute
.global _CHAN_init
.global _CHAN_open
.global _CHAN_regCell
.global _CHAN_setup
.global _CACHE_clean
.global _JPEGENC_CELLFXNS
.global _JPEGENC_TI_IJPEGENC
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -