📄 dspjpeg.asm
字号:
.sym _huffCode,422, 8, 1, 48, _tagHUFFCODE
.sym _sym,428, 8, 1, 32, _tagSYM2
.sym _huffCode,432, 8, 1, 48, _tagHUFFCODE
.sym _huffCode,438, 8, 1, 48, _tagHUFFCODE
ADDK .S2 -472,SP ; |205|
STW .D2T1 A10,*+SP(444) ; |205|
STW .D2T1 A11,*+SP(448) ; |205|
STW .D2T1 A12,*+SP(452) ; |205|
STW .D2T1 A13,*+SP(456) ; |205|
STW .D2T2 B3,*+SP(460) ; |205|
STW .D2T2 B10,*+SP(464) ; |205|
STW .D2T2 B11,*+SP(468) ; |205|
STW .D2T2 B12,*+SP(472) ; |205|
MV .S1X B4,A12
MV .D1 A4,A10
|| MV .S2X A8,B10
|| MV .S1X B6,A11
|| MV .L1 A6,A13
.line 13
B .S1 _fdct_8x8 ; |216|
MVKL .S2 RL4,B3 ; |216|
MVK .S2 0x1,B4 ; |216|
MVKH .S2 RL4,B3 ; |216|
NOP 2
RL4: ; CALL OCCURS ; |216|
MV .S2X A12,B11
.line 15
MVK .S1 (_FZBT-$bss),A0
MVK .S1 0x40,A0 ; |218|
|| ADD .S2X DP,A0,B12
MV .D1 A0,A12
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: loop contains a call
;*----------------------------------------------------------------------------*
L11:
.line 18
B .S1 __divu ; |221|
|| LDH .D1T1 *A10++,A0 ; |221|
LDW .D2T2 *B11++,B4 ; |221|
MVKL .S2 RL16,B3 ; |221|
MVKH .S2 RL16,B3 ; |221|
NOP 1
ADD .D1 A0,A0,A4
RL16: ; CALL OCCURS ; |221|
B .S1 __fltud ; |221|
MVKL .S2 RL18,B3 ; |221|
MVKH .S2 RL18,B3 ; |221|
NOP 3
RL18: ; CALL OCCURS ; |221|
B .S1 __addd ; |221|
MVKL .S2 RL20,B3 ; |221|
ZERO .D2 B5 ; |221|
MVKH .S2 0x3fe00000,B5 ; |221|
MVKH .S2 RL20,B3 ; |221|
ZERO .D2 B4 ; |221|
RL20: ; CALL OCCURS ; |221|
B .S1 __fixdi ; |221|
MVKL .S2 RL22,B3 ; |221|
MVKH .S2 RL22,B3 ; |221|
NOP 3
RL22: ; CALL OCCURS ; |221|
LDW .D2T2 *B12++,B4 ; |221|
ADD .D2 SP,16,B5 ; |221|
NOP 3
STH .D2T1 A4,*+B5[B4] ; |221|
.line 19
SUB .D1 A12,1,A1
[ A1] B .S1 L11 ; |222|
SUB .D1 A12,1,A12
NOP 4
; BRANCH OCCURS ; |222|
;** --------------------------------------------------------------------------*
.line 25
LDH .D2T2 *B10,B5 ; |228|
LDH .D2T2 *+SP(16),B4 ; |228|
NOP 4
SUB .D2 B4,B5,B5 ; |228|
EXT .S2 B5,16,16,B2 ; |228|
.line 26
STH .D2T2 B4,*B10 ; |229|
.line 28
[ B2] B .S1 L12 ; |231|
NOP 5
; BRANCH OCCURS ; |231|
;** --------------------------------------------------------------------------*
LDH .D1T1 *A13,A3 ; |379|
LDH .D1T2 *+A13(2),B5 ; |379|
LDH .D1T1 *+A13(4),A0 ; |379|
MVK .S2 438,B4 ; |379|
ADD .D2 B4,SP,B4 ; |379|
STH .D2T1 A3,*B4 ; |379|
STH .D2T2 B5,*+B4(2) ; |379|
STH .D2T1 A0,*+B4(4) ; |379|
B .S1 _WriteBitsStream ; |380|
|| LDHU .D2T1 *+SP(438),A4 ; |380|
LDBU .D2T2 *+SP(440),B4 ; |380|
MVKL .S2 RL24,B3 ; |380|
MVKH .S2 RL24,B3 ; |380|
NOP 2
RL24: ; CALL OCCURS ; |380|
.line 31
B .S1 L13 ; |234|
ADD .D2 SP,16,B4
NOP 4
; BRANCH OCCURS ; |234|
;** --------------------------------------------------------------------------*
L12:
LDW .D2T2 *+DP(_pVLITAB),B4 ; |379|
NOP 4
LDBU .D2T2 *+B4[B2],B4 ; |379|
NOP 4
MPYSU .M2 6,B4,B4 ; |379|
NOP 1
ADD .S1X A13,B4,A0 ; |379|
LDH .D1T1 *+A0(4),A3 ; |379|
LDH .D1T1 *+A0(2),A4 ; |379|
LDH .D1T1 *A0,A0 ; |379|
MVK .S2 432,B4 ; |379|
ADD .D2 B4,SP,B4 ; |379|
STH .D2T1 A3,*+B4(4) ; |379|
STH .D2T1 A4,*+B4(2) ; |379|
STH .D2T1 A0,*B4 ; |379|
B .S1 _WriteBitsStream ; |380|
|| LDHU .D2T1 *+SP(432),A4 ; |380|
LDBU .D2T2 *+SP(434),B4 ; |380|
MVKL .S2 RL26,B3 ; |380|
MVKH .S2 RL26,B3 ; |380|
NOP 2
RL26: ; CALL OCCURS ; |380|
.line 35
B .S1 _BuildSym2 ; |238|
MV .S1X B2,A4 ; |238|
MVKL .S2 RL28,B3 ; |238|
ADD .S1X 10,SP,A3
MVKH .S2 RL28,B3 ; |238|
NOP 1
RL28: ; CALL OCCURS ; |238|
ADD .D2 10,SP,B4 ; |385|
LDH .D2T2 *B4,B6 ; |385|
LDH .D2T2 *+B4(2),B5 ; |385|
MVK .S1 428,A0 ; |385|
ADD .S2X A0,SP,B4 ; |385|
NOP 1
STH .D2T2 B6,*B4 ; |385|
STH .D2T2 B5,*+B4(2) ; |385|
B .S1 _WriteBitsStream ; |386|
|| LDBU .D2T2 *+SP(430),B4 ; |386|
LDHU .D2T1 *+SP(428),A4
MVKL .S2 RL30,B3 ; |386|
MVKH .S2 RL30,B3 ; |386|
NOP 2
RL30: ; CALL OCCURS ; |386|
ADD .D2 SP,16,B4
;** --------------------------------------------------------------------------*
L13:
.line 39
MVK .S2 0x3f,B6 ; |242|
.line 6
ZERO .D1 A2 ; |209|
.line 39
MVK .S1 0x1,A0 ; |242|
MV .S2X A0,B5
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;*
;* Loop source line : 242
;* Loop opening brace source line : 243
;* Loop closing brace source line : 246
;* Known Minimum Trip Count : 63
;* Known Maximum Trip Count : 63
;* Known Max Trip Count Factor : 63
;* Loop Carried Dependency Bound(^) : 1
;* Unpartitioned Resource Bound : 1
;* Partitioned Resource Bound(*) : 1
;* Resource Partition:
;* A-side B-side
;* .L units 0 0
;* .S units 1* 0
;* .D units 0 1*
;* .M units 0 0
;* .X cross paths 0 0
;* .T address paths 0 1*
;* Long read paths 0 0
;* Long write paths 0 0
;* Logical ops (.LS) 0 0 (.L or .S unit)
;* Addition ops (.LSD) 2 2 (.L or .S or .D unit)
;* Bound(.L .S .LS) 1* 0
;* Bound(.L .S .D .LS .LSD) 1* 1*
;*
;* Searching for software pipeline schedule at ...
;* ii = 1 Schedule found with 7 iterations in parallel
;* done
;*
;* Epilog not entirely removed
;* Collapsed epilog stages : 1
;*
;* Prolog not removed
;* Collapsed prolog stages : 0
;*
;* Minimum required memory pad : 0 bytes
;*
;* For further improvement on this loop, try option -mh5
;*
;* Minimum safe trip count : 6
;*----------------------------------------------------------------------------*
L14: ; PIPED LOOP PROLOG
ADD .S2 1,B5,B5 ; (P) ^ Define a twin register
|| LDH .D2T2 *+B4[B5],B0 ; (P) ^ |244|
|| B .S1 L15 ; (P) |246|
ADD .S2 1,B5,B5 ; (P) @ ^ Define a twin register
|| B .S1 L15 ; (P) @|246|
|| LDH .D2T2 *+B4[B5],B0 ; (P) @ ^ |244|
ADD .S2 1,B5,B5 ; (P) @@ ^ Define a twin register
|| LDH .D2T2 *+B4[B5],B0 ; (P) @@ ^ |244|
|| B .S1 L15 ; (P) @@|246|
ADD .S2 1,B5,B5 ; (P) @@@ ^ Define a twin register
|| B .S1 L15 ; (P) @@@|246|
|| LDH .D2T2 *+B4[B5],B0 ; (P) @@@ ^ |244|
MV .D1 A2,A3
|| SUB .S2 B6,11,B1
|| ADD .L2 1,B5,B5 ; (P) @@@@ ^ Define a twin register
|| LDH .D2T2 *+B4[B5],B0 ; (P) @@@@ ^ |244|
|| B .S1 L15 ; (P) @@@@|246|
;** --------------------------------------------------------------------------*
L15: ; PIPED LOOP KERNEL
ADD .D1 1,A0,A0 ; ^ |246|
|| [ B0] MV .L1 A0,A3 ; ^ |245|
|| ADD .S2 1,B5,B5 ; @@@@@ ^ Define a twin register
|| LDH .D2T2 *+B4[B5],B0 ; @@@@@ ^ |244|
|| [ B1] B .S1 L15 ; @@@@@|246|
|| [ B1] SUB .L2 B1,1,B1 ; @@@@@@|246|
;** --------------------------------------------------------------------------*
L16: ; PIPED LOOP EPILOG
[ B0] MV .D1 A0,A3 ; (E) @@ ^ |245|
|| ADD .S1 1,A0,A0 ; (E) @@ ^ |246|
ADD .D1 1,A0,A0 ; (E) @@@ ^ |246|
|| [ B0] MV .S1 A0,A3 ; (E) @@@ ^ |245|
ADD .D1 1,A0,A0 ; (E) @@@@ ^ |246|
|| [ B0] MV .S1 A0,A3 ; (E) @@@@ ^ |245|
[ B0] MV .D1 A0,A3 ; (E) @@@@@ ^ |245|
|| ADD .S1 1,A0,A0 ; (E) @@@@@ ^ |246|
;** --------------------------------------------------------------------------*
[ B0] MV .D1 A0,A3 ; (E) @@@@@@ ^ |245|
MV .D1 A3,A2
.line 44
[ A2] B .S2 L17 ; |247|
NOP 5
; BRANCH OCCURS ; |247|
;** --------------------------------------------------------------------------*
LDH .D1T1 *A11,A3 ; |379|
LDH .D1T2 *+A11(2),B5 ; |379|
LDH .D1T1 *+A11(4),A0 ; |379|
MVK .S2 422,B4 ; |379|
ADD .D2 B4,SP,B4 ; |379|
STH .D2T1 A3,*B4 ; |379|
STH .D2T2 B5,*+B4(2) ; |379|
STH .D2T1 A0,*+B4(4) ; |379|
B .S1 _WriteBitsStream ; |380|
|| LDHU .D2T1 *+SP(422),A4 ; |380|
LDBU .D2T2 *+SP(424),B4 ; |380|
MVKL .S2 RL32,B3 ; |380|
MVKH .S2 RL32,B3 ; |380|
NOP 2
RL32: ; CALL OCCURS ; |380|
.line 47
B .S1 L21 ; |250|
NOP 5
; BRANCH OCCURS ; |250|
;** --------------------------------------------------------------------------*
L17:
.line 8
ZERO .D1 A0 ; |211|
STB .D2T1 A0,*+SP(4) ; |211|
.line 50
B .S1 _RLEComp ; |253|
MVKL .S2 RL34,B3 ; |253|
ADD .S1X 4,SP,A6
ADD .D2 SP,16,B5 ; |253|
MVK .S2 144,B4 ; |253|
MVKH .S2 RL34,B3 ; |253|
|| ADD .D2 B4,SP,B4 ; |253|
|| MV .S1X B5,A4 ; |253|
|| MV .L2X A2,B6 ; |253|
RL34: ; CALL OCCURS ; |253
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -