📄 dspjpeg.asm
字号:
.line 7
B .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 *
;******************************************************************************
_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
B .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,B0,B1,B4,B5,B6,B7 *
;* Regs Used : A0,A1,A3,A4,B0,B1,B3,B4,B5,B6,B7,DP *
;* Local Frame Size : 0 Args + 0 Auto + 0 Save = 0 byte *
;******************************************************************************
_WriteBitsStream:
;** --------------------------------------------------------------------------*
.line 2
.sym _value,4, 13, 17, 16
.sym _codeLen,20, 12, 17, 8
.sym _value,4, 13, 4, 16
.sym _codeLen,20, 12, 4, 8
.line 5
SUB .D2 B4,1,B4 ; |393|
EXT .S2 B4,24,24,B6 ; |393|
CMPLT .L2 B6,0,B0 ; |393|
[ B0] B .S1 L6 ; |393|
[!B0] MVK .S2 (_mask-$bss),B4
[!B0] ADD .D2 DP,B4,B7
[!B0] ADDAH .D2 B7,B6,B4
[!B0] LDBU .D2T2 *+DP(_bytenew),B4
|| [!B0] ADD .S1X 2,B4,A0
[!B0] LDB .D2T2 *+DP(_bytepos),B5
; BRANCH OCCURS ; |393|
;** --------------------------------------------------------------------------*
.line 7
ADD .D2 1,B6,B6 ; |395|
EXT .S2 B6,24,24,B0 ; |395|
LDHU .D1T1 *--A0,A3 ; |395|
NOP 4
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: bad loop structure
;*----------------------------------------------------------------------------*
L4:
AND .S1 A4,A3,A1 ; |395|
.line 9
[ A1] LDHU .D2T2 *+B7[B5],B6 ; |397|
NOP 4
[ A1] OR .S2 B6,B4,B6 ; |397|
[ A1] EXTU .S2 B6,24,24,B4 ; |397|
.line 11
SUB .D2 B5,1,B5 ; |399|
EXT .S2 B5,24,24,B5 ; |399|
CMPLT .L2 B5,0,B1 ; |399|
[!B1] B .S1 L5 ; |399|
NOP 5
; BRANCH OCCURS ; |399|
;** --------------------------------------------------------------------------*
.line 14
MVK .S1 255,A3 ; |402|
CMPEQ .L1X B4,A3,A1 ; |402|
[!A1] LDW .D2T2 *+DP(_CodeLen),B5 ; |487|
[!A1] LDW .D2T2 *+DP(_pDestJpeg),B6 ; |487|
NOP 4
[!A1] STB .D2T2 B4,*+B5[B6] ; |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 21
[ A1] LDW .D2T2 *+DP(_CodeLen),B6 ; |487|
[ A1] LDW .D2T2 *+DP(_pDestJpeg),B4 ; |487|
[ A1] MVK .S2 0xff,B5 ; |487|
NOP 3
[ A1] STB .D2T2 B5,*+B6[B4]
[ 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),B5 ; |487|
[ A1] ZERO .D2 B6 ; |487|
NOP 3
[ A1] STB .D2T2 B6,*+B5[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
ZERO .D2 B4 ; |411|
|| MVK .S2 0x7,B5 ; |411|
;** --------------------------------------------------------------------------*
L5:
.line 25
SUB .D2 B0,1,B0 ; |413|
[ B0] B .S1 L4 ; |413|
[ B0] LDHU .D1T1 *--A0,A3 ; |395|
|| [!B0] STB .D2T2 B5,*+DP(_bytepos)
[!B0] STB .D2T2 B4,*+DP(_bytenew)
NOP 3
; BRANCH OCCURS ; |413|
;** --------------------------------------------------------------------------*
L6:
.line 26
B .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,B0,B1,B3,B4,B5,B6,B7,SP *
;* Regs Used : A0,A1,A3,A4,B0,B1,B3,B4,B5,B6,B7,SP *
;* Local Frame Size : 0 Args + 4 Auto + 4 Save = 8 byte *
;******************************************************************************
_WriteBitsYM:
;** --------------------------------------------------------------------------*
.line 2
.sym _sym,4, 24, 17, 32, _tagSYM2
.sym _sym,4, 24, 4, 32, _tagSYM2
.sym _sym,4, 8, 1, 32, _tagSYM2
STW .D2T2 B3,*SP--(8) ; |385|
LDH .D1T1 *A4,A3 ; |385|
LDH .D1T1 *+A4(2),A0 ; |385|
ADD .D2 4,SP,B4 ; |385|
NOP 2
STH .D2T1 A3,*B4 ; |385|
STH .D2T1 A0,*+B4(2) ; |385|
.line 3
B .S1 _WriteBitsStream ; |386|
|| LDHU .D2T1 *+SP(4),A4
LDBU .D2T2 *+SP(6),B4 ; |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
B .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,B0,B1,B3,B4,B5,B6,B7,SP *
;* Regs Used : A0,A1,A3,A4,B0,B1,B3,B4,B5,B6,B7,SP *
;* Local Frame Size : 0 Args + 8 Auto + 4 Save = 12 byte *
;******************************************************************************
_WriteBits:
;** --------------------------------------------------------------------------*
.line 2
.sym _huffCode,4, 24, 17, 32, _tagHUFFCODE
.sym _huffCode,4, 24, 4, 32, _tagHUFFCODE
.sym _huffCode,4, 8, 1, 48, _tagHUFFCODE
STW .D2T2 B3,*SP--(16) ; |379|
LDH .D1T1 *+A4(4),A3 ; |379|
LDH .D1T1 *+A4(2),A0 ; |379|
LDH .D1T1 *A4,A4 ; |379|
ADD .D2 4,SP,B4 ; |379|
NOP 2
STH .D2T1 A0,*+B4(2) ; |379|
STH .D2T1 A4,*B4 ; |379|
STH .D2T1 A3,*+B4(4) ; |379|
.line 3
B .S1 _WriteBitsStream ; |380|
|| LDHU .D2T1 *+SP(4),A4 ; |380|
LDBU .D2T2 *+SP(6),B4 ; |380|
MVKL .S2 RL2,B3 ; |380|
MVKH .S2 RL2,B3 ; |380|
NOP 2
RL2: ; CALL OCCURS ; |380|
.line 4
LDW .D2T2 *++SP(16),B3 ; |381|
NOP 4
B .S2 B3 ; |381|
NOP 5
; BRANCH OCCURS ; |381|
.endfunc 381,000080000h,16
.sect ".text"
.global _Standard
.sym _Standard,_Standard, 32, 2, 0
.func 497
;******************************************************************************
;* FUNCTION NAME: _Standard *
;* *
;* Regs Modified : A0,A3,A5,B0,B1,B2,B4,B5,B6,B7,B8,B9 *
;* Regs Used : A0,A3,A4,A5,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9 *
;* Local Frame Size : 0 Args + 0 Auto + 0 Save = 0 byte *
;******************************************************************************
_Standard:
;** --------------------------------------------------------------------------*
.line 2
.sym _lpBuf,4, 19, 17, 32
.sym _quantTab,20, 30, 17, 32
.sym _F7,0, 4, 4, 32
.sym _F6,21, 4, 4, 32
.sym _F5,16, 4, 4, 32
.sym _F4,25, 4, 4, 32
.sym _F3,24, 4, 4, 32
.sym _F2,22, 4, 4, 32
.sym _F1,23, 4, 4, 32
.sym _lpBuf,4, 19, 4, 32
.sym _quantTab,20, 30, 4, 32
.line 10
LDH .D1T2 *+A4(2),B5 ; |506|
|| LDW .D2T1 *+B4(4),A0 ; |506|
NOP 4
MPYLH .M1X A0,B5,A3 ; |506|
|| MPYLH .M2X B5,A0,B6 ; |506|
MPYU .M1X A0,B5,A0 ; |506|
ADD .S2X A3,B6,B7 ; |506|
SHL .S2 B7,16,B7 ; |506|
ADD .S2X A0,B7,B7 ; |506|
.line 11
LDW .D2T2 *+B4(8),B6 ; |507|
LDH .D1T2 *+A4(4),B5 ; |507|
NOP 4
MPYLH .M2 B6,B5,B9 ; |507|
MPYLH .M2 B5,B6,B8 ; |507|
MPYU .M2 B6,B5,B5 ; |507|
ADD .D2 B9,B8,B6 ; |507|
SHL .S2 B6,16,B6 ; |507|
ADD .D2 B5,B6,B6 ; |507|
.line 12
LDH .D1T2 *+A4(6),B8 ; |508|
LDW .D2T2 *+B4(12),B5 ; |508|
NOP 4
MPYLH .M2 B8,B5,B0 ; |508|
MPYLH .M2 B5,B8,B9 ; |508|
MPYU .M2 B5,B8,B5 ; |508|
ADD .D2 B9,B0,B8 ; |508|
SHL .S2 B8,16,B8 ; |508|
ADD .D2 B5,B8,B8 ; |508|
.line 13
LDW .D2T2 *+B4(16),B5 ; |509|
|| LDH .D1T1 *+A4(8),A0 ; |509|
NOP 4
MPYLH .M2X A0,B5,B9 ; |509|
|| MPYLH .M1X B5,A0,A3 ; |509|
MPYU .M1X B5,A0,A0 ; |509|
ADD .S2X A3,B9,B9 ; |509|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -