📄 dspjpeg.asm
字号:
;******************************************************************************
;* *
;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
;* *
;******************************************************************************
_WriteEOI:
;** --------------------------------------------------------------------------*
.line 2
.line 3
LDW .D2T2 *+DP(_CodeLen),B5 ; |492|
LDW .D2T2 *+DP(_pDestJpeg),B4 ; |492|
MVK .S1 255,A0 ; |492|
NOP 3
STB .D2T1 A0,*+B5[B4] ; |492|
.line 4
LDW .D2T2 *+DP(_CodeLen),B5 ; |493|
NOP 4
ADD .D2 1,B5,B5 ; |493|
STW .D2T2 B5,*+DP(_CodeLen) ; |493|
.line 5
LDW .D2T2 *+DP(_CodeLen),B6 ; |494|
MVK .S2 217,B5 ; |494|
NOP 3
STB .D2T2 B5,*+B6[B4] ; |494|
.line 6
LDW .D2T2 *+DP(_CodeLen),B4 ; |495|
NOP 4
ADD .D2 1,B4,B4 ; |495|
STW .D2T2 B4,*+DP(_CodeLen) ; |495|
.line 7
RET .S2 B3 ; |496|
NOP 5
; BRANCH OCCURS ; |496|
.endfunc 496,000000000h,0
.sect ".text"
.global _WriteByte
.sym _WriteByte,_WriteByte, 32, 2, 0
.func 485
;******************************************************************************
;* FUNCTION NAME: _WriteByte *
;* *
;* Regs Modified : B4,B5 *
;* Regs Used : A4,B3,B4,B5,DP *
;* Local Frame Size : 0 Args + 0 Auto + 0 Save = 0 byte *
;******************************************************************************
;******************************************************************************
;* *
;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
;* *
;******************************************************************************
_WriteByte:
;** --------------------------------------------------------------------------*
.line 2
.sym _val,4, 12, 17, 8
.sym _val,4, 12, 4, 8
.line 3
LDW .D2T2 *+DP(_CodeLen),B4 ; |487|
LDW .D2T2 *+DP(_pDestJpeg),B5 ; |487|
NOP 4
STB .D2T1 A4,*+B4[B5] ; |487|
.line 4
LDW .D2T2 *+DP(_CodeLen),B4 ; |488|
NOP 4
ADD .D2 1,B4,B4 ; |488|
STW .D2T2 B4,*+DP(_CodeLen) ; |488|
.line 5
RET .S2 B3 ; |489|
NOP 5
; BRANCH OCCURS ; |489|
.endfunc 489,000000000h,0
.sect ".text"
.global _WriteBitsStream
.sym _WriteBitsStream,_WriteBitsStream, 32, 2, 0
.func 389
;******************************************************************************
;* FUNCTION NAME: _WriteBitsStream *
;* *
;* Regs Modified : A0,A1,A3,A4,A5,B0,B1,B4,B5,B6,B7,B8 *
;* Regs Used : A0,A1,A3,A4,A5,B0,B1,B3,B4,B5,B6,B7,B8,DP *
;* Local Frame Size : 0 Args + 0 Auto + 0 Save = 0 byte *
;******************************************************************************
;******************************************************************************
;* *
;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
;* *
;******************************************************************************
_WriteBitsStream:
;** --------------------------------------------------------------------------*
.line 2
.sym _value,4, 13, 17, 16
.sym _codeLen,20, 12, 17, 8
.sym _value,24, 13, 4, 16
.sym _codeLen,20, 12, 4, 8
MV .S2X A4,B8 ; |390|
.line 5
SUB .S1X B4,1,A0 ; |393|
EXT .S1 A0,24,24,A5 ; |393|
CMPLT .L1 A5,0,A1 ; |393|
[ A1] B .S1 L6 ; |393|
[!A1] MVK .S1 (_mask-$bss),A0
[!A1] ADD .S1X DP,A0,A4
[!A1] ADDAH .D1 A4,A5,A0
[!A1] LDBU .D2T1 *+DP(_bytenew),A0
|| [!A1] ADD .S2X 2,A0,B6
[!A1] LDB .D2T1 *+DP(_bytepos),A3
; BRANCH OCCURS ; |393|
;** --------------------------------------------------------------------------*
.line 7
ADD .S2X 1,A5,B4 ; |395|
EXT .S2 B4,24,24,B1 ; |395|
LDHU .D2T2 *--B6,B4
NOP 4
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: Loop contains control code
;*----------------------------------------------------------------------------*
L4:
AND .S2 B8,B4,B0
.line 9
[ B0] LDHU .D1T1 *+A4[A3],A5 ; |397|
NOP 4
[ B0] OR .S1 A5,A0,A5 ; |397|
[ B0] EXTU .S1 A5,24,24,A0 ; |397|
.line 11
SUB .D1 A3,1,A3 ; |399|
EXT .S1 A3,24,24,A3 ; |399|
CMPLT .L1 A3,0,A1 ; |399|
[!A1] B .S1 L5 ; |399|
NOP 5
; BRANCH OCCURS ; |399|
;** --------------------------------------------------------------------------*
.line 14
MVK .S1 255,A3 ; |402|
CMPEQ .L1 A0,A3,A1 ; |402|
[!A1] LDW .D2T1 *+DP(_pDestJpeg),A5 ; |487|
[!A1] LDW .D2T1 *+DP(_CodeLen),A3 ; |487|
NOP 4
[!A1] STB .D1T1 A0,*+A3[A5] ; |487|
[!A1] LDW .D2T2 *+DP(_CodeLen),B4 ; |488|
NOP 4
[!A1] ADD .D2 1,B4,B4 ; |488|
[!A1] STW .D2T2 B4,*+DP(_CodeLen) ; |488|
[ A1] LDW .D2T2 *+DP(_CodeLen),B5 ; |487|
[ A1] LDW .D2T2 *+DP(_pDestJpeg),B4 ; |487|
[ A1] MVK .S2 0xff,B7 ; |487|
NOP 3
[ A1] STB .D2T2 B7,*+B5[B4] ; |487|
[ A1] LDW .D2T2 *+DP(_CodeLen),B5 ; |488|
NOP 4
[ A1] ADD .D2 1,B5,B5 ; |488|
[ A1] STW .D2T2 B5,*+DP(_CodeLen) ; |488|
[ A1] LDW .D2T2 *+DP(_CodeLen),B7 ; |487|
[ A1] ZERO .D2 B5 ; |487|
NOP 3
[ A1] STB .D2T2 B5,*+B7[B4] ; |487|
[ A1] LDW .D2T2 *+DP(_CodeLen),B4 ; |488|
NOP 4
[ A1] ADD .D2 1,B4,B4 ; |488|
[ A1] STW .D2T2 B4,*+DP(_CodeLen) ; |488|
.line 23
MVK .S1 0x7,A3 ; |411|
|| ZERO .D1 A0 ; |411|
;** --------------------------------------------------------------------------*
L5:
.line 25
SUB .D2 B1,1,B1 ; |413|
[ B1] B .S1 L4 ; |413|
[ B1] LDHU .D2T2 *--B6,B4
[!B1] STB .D2T1 A3,*+DP(_bytepos)
[!B1] STB .D2T1 A0,*+DP(_bytenew)
NOP 2
; BRANCH OCCURS ; |413|
;** --------------------------------------------------------------------------*
L6:
.line 26
RET .S2 B3 ; |414|
NOP 5
; BRANCH OCCURS ; |414|
.endfunc 414,000000000h,0
.sect ".text"
.global _WriteBitsYM
.sym _WriteBitsYM,_WriteBitsYM, 32, 2, 0
.func 384
;******************************************************************************
;* FUNCTION NAME: _WriteBitsYM *
;* *
;* Regs Modified : A0,A1,A3,A4,A5,B0,B1,B3,B4,B5,B6,B7,B8,SP *
;* Regs Used : A0,A1,A3,A4,A5,B0,B1,B3,B4,B5,B6,B7,B8,SP *
;* Local Frame Size : 0 Args + 0 Auto + 4 Save = 4 byte *
;******************************************************************************
;******************************************************************************
;* *
;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
;* *
;******************************************************************************
_WriteBitsYM:
;** --------------------------------------------------------------------------*
.line 2
.sym _sym,4, 24, 17, 32, _tagSYM2
.sym _sym,4, 24, 4, 32, _tagSYM2
STW .D2T2 B3,*SP--(8) ; |385|
.line 3
CALL .S1 _WriteBitsStream ; |386|
|| LDBU .D1T2 *+A4(2),B4 ; |386|
LDHU .D1T1 *A4,A4 ; |386|
MVKL .S2 RL0,B3 ; |386|
MVKH .S2 RL0,B3 ; |386|
NOP 2
RL0: ; CALL OCCURS ; |386|
.line 4
LDW .D2T2 *++SP(8),B3 ; |387|
NOP 4
RET .S2 B3 ; |387|
NOP 5
; BRANCH OCCURS ; |387|
.endfunc 387,000080000h,8
.sect ".text"
.global _WriteBits
.sym _WriteBits,_WriteBits, 32, 2, 0
.func 378
;******************************************************************************
;* FUNCTION NAME: _WriteBits *
;* *
;* Regs Modified : A0,A1,A3,A4,A5,B0,B1,B3,B4,B5,B6,B7,B8,SP *
;* Regs Used : A0,A1,A3,A4,A5,B0,B1,B3,B4,B5,B6,B7,B8,SP *
;* Local Frame Size : 0 Args + 0 Auto + 4 Save = 4 byte *
;******************************************************************************
;******************************************************************************
;* *
;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
;* *
;******************************************************************************
_WriteBits:
;** --------------------------------------------------------------------------*
.line 2
.sym _huffCode,4, 24, 17, 32, _tagHUFFCODE
.sym _huffCode,4, 24, 4, 32, _tagHUFFCODE
STW .D2T2 B3,*SP--(8) ; |379|
.line 3
CALL .S1 _WriteBitsStream ; |380|
|| LDBU .D1T2 *+A4(2),B4 ; |380|
LDHU .D1T1 *A4,A4 ; |380|
MVKL .S2 RL1,B3 ; |380|
MVKH .S2 RL1,B3 ; |380|
NOP 2
RL1: ; CALL OCCURS ; |380|
.line 4
LDW .D2T2 *++SP(8),B3 ; |381|
NOP 4
RET .S2 B3 ; |381|
NOP 5
; BRANCH OCCURS ; |381|
.endfunc 381,000080000h,8
.sect ".text"
.global _Standard
.sym _Standard,_Standard, 32, 2, 0
.func 497
;******************************************************************************
;* FUNCTION NAME: _Standard *
;* *
;* Regs Modified : A0,A3,A5,B4,B5,B6,B7,B8 *
;* Regs Used : A0,A3,A4,A5,B3,B4,B5,B6,B7,B8 *
;* Local Frame Size : 0 Args + 0 Auto + 0 Save = 0 byte *
;******************************************************************************
;******************************************************************************
;* *
;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
;* *
;******************************************************************************
_Standard:
;** --------------------------------------------------------------------------*
.line 2
.sym _lpBuf,4, 19, 17, 32
.sym _quantTab,20, 30, 17, 32
.sym _lpBuf,4, 19, 4, 32
.sym _quantTab,20, 30, 4, 32
.line 18
LDW .D2T1 *B4,A0 ; |514|
|| LDH .D1T2 *A4,B5 ; |514|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -