📄 filt_gen.asm
字号:
L25:
CALL .S2X A5 ; |134|
ADDKPC .S2 RL104,B3,0 ; |134|
MV .D2 B5,B4 ; |134|
NOP 1
ADD .D1 A4,A4,A4 ; |134|
ADD .S1 1,A9,A4 ; |134|
|| STH .D1T1 A4,*++A3(4) ; |134|
RL104: ; CALL OCCURS ; |134|
MVKL .S2 __remi,B8 ; |135|
MVKH .S2 __remi,B8 ; |135|
|| LDH .D1T1 *+A8[A7],A5 ; |135|
CALL .S2 B8 ; |135|
MV .S1 A4,A9 ; |134|
MV .D2 B5,B4 ; |135|
ADDKPC .S2 RL105,B3,0 ; |135|
ADD .D1 A5,A5,A4 ; |135|
ADD .S1 1,A7,A4 ; |135|
|| STH .D1T1 A4,*+A3(2) ; |135|
RL105: ; CALL OCCURS ; |135|
SUB .D1 A0,1,A0 ; |136|
[ A0] BNOP .S1 L25,2 ; |136|
[!A0] CMPLT .L2 B7,0,B0 ; |139|
|| [!A0] ADD .L1 4,A3,A3
|| [ A0] MVKL .S1 __remi,A5 ; |134|
|| MV .D1 A4,A7 ; |135|
[ A0] MVKH .S1 __remi,A5 ; |134|
[ A0] LDH .D1T1 *+A8[A9],A4 ; |134|
; BRANCH OCCURS ; |136|
;** --------------------------------------------------------------------------*
L26:
[ B0] B .S1 L28 ; |139|
STH .D1T1 A17,*A3 ; |137|
STH .D1T1 A17,*+A3(2) ; |138|
|| [!B0] ADD .D2 4,B7,B4 ; |141|
|| [ B0] SUB .S1X B6,1,A0 ; |146|
[!B0] SHR .S2 B4,2,B4 ; |141|
[!B0] MVKL .S1 __remi,A5 ; |141|
[!B0] MV .D1X B4,A0 ; |141|
; BRANCH OCCURS ; |139|
;** --------------------------------------------------------------------------*
LDH .D1T1 *+A8[A9],A4 ; |141|
|| MVKH .S1 __remi,A5 ; |141|
LDH .D1T1 *A3,A6 ; |141|
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: Loop contains a call
;*----------------------------------------------------------------------------*
L27:
CALL .S2X A5 ; |141|
ADDKPC .S2 RL106,B3,0 ; |141|
MV .D2 B5,B4 ; |141|
NOP 1
ADDAH .D1 A6,A4,A4 ; |141|
ADD .S1 1,A9,A4 ; |141|
|| STH .D1T1 A4,*A3 ; |141|
RL106: ; CALL OCCURS ; |141|
MVKL .S2 __remi,B8 ; |142|
|| LDH .D1T1 *+A3(2),A5 ; |142|
MVKH .S2 __remi,B8 ; |142|
|| LDH .D1T1 *+A8[A7],A6 ; |142|
CALL .S2 B8 ; |142|
MV .S1 A4,A9 ; |141|
MV .D2 B5,B4 ; |142|
ADDKPC .S2 RL107,B3,0 ; |142|
ADDAH .D1 A5,A6,A4 ; |142|
ADD .S1 1,A7,A4 ; |142|
|| STH .D1T1 A4,*+A3(2) ; |142|
RL107: ; CALL OCCURS ; |142|
SUB .D1 A0,1,A0 ; |143|
[ A0] BNOP .S1 L27,2 ; |143|
[ A0] MVKL .S1 __remi,A5 ; |141|
|| MV .D1 A4,A7 ; |142|
[ A0] MVKH .S1 __remi,A5 ; |141|
|| [ A0] LDH .D1T1 *+A8[A9],A4 ; |141|
[!A0] SUB .S1X B6,1,A0 ; |146|
|| [ A0] LDH .D1T1 *A3,A6 ; |141|
; BRANCH OCCURS ; |143|
;** --------------------------------------------------------------------------*
L28:
[ A0] BNOP .S1 L24,4 ; |146|
SUB .D2 B6,1,B6 ; |146|
|| ADD .D1 4,A3,A3 ; |144|
|| [ A0] CMPLT .L2 B7,8,B0 ; |132|
; BRANCH OCCURS ; |146|
;** --------------------------------------------------------------------------*
LDH .D1T1 *+A16(4),A4 ; |147|
NOP 4
;** --------------------------------------------------------------------------*
L29:
STH .D1T1 A4,*A3 ; |147|
RETNOP .S2 B31,4 ; |149|
|| LDH .D1T1 *+A16(6),A4 ; |148|
STH .D1T1 A4,*+A3(2) ; |148|
; BRANCH OCCURS ; |149|
.sect ".text"
.global _filt_gen
;******************************************************************************
;* FUNCTION NAME: _filt_gen *
;* *
;* 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,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,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 + 6804 Auto + 32 Save = 6836 byte *
;******************************************************************************
_filt_gen:
;** --------------------------------------------------------------------------*
MVKL .S2 _bresenham_guide,B5 ; |170|
MVKH .S2 _bresenham_guide,B5 ; |170|
ADDK .S2 -6840,SP ; |162|
|| MV .D1X SP,A31 ; |162|
CALL .S2 B5 ; |170|
STDW .D1T1 A15:A14,*-A31(8)
STDW .D1T1 A13:A12,*-A31(16)
|| STW .D2T2 B10,*+SP(6840)
MV .D1X B4,A15 ; |162|
|| STW .D2T1 A10,*+SP(6816)
STW .D2T1 A11,*+SP(6820)
|| MV .D1X B6,A13 ; |162|
|| CMPGT .L1 A4,0,A14 ; |178|
|| MV .S1 A4,A12 ; |162|
|| MV .S2X A8,B10 ; |162|
ADDKPC .S2 RL108,B3,0 ; |170|
|| MV .L2 B3,B13
|| STW .D2T2 B13,*+SP(6812)
|| MV .D1X B6,A6 ; |162|
|| MV .S1 A6,A11 ; |162|
|| MV .L1 A4,A10 ; |162|
RL108: ; CALL OCCURS ; |170|
MVKL .S1 _unrollx1,A3 ; |171|
MVKH .S1 _unrollx1,A3 ; |171|
MVK .S2 6408,B4 ; |171|
CALL .S2X A3 ; |171|
ADDKPC .S2 RL109,B3,0 ; |171|
MV .D1 A13,A4 ; |171|
ADD .D2 B4,SP,B4 ; |171|
MV .L2X A12,B6 ; |171|
MVK .S1 0x4,A6 ; |171|
RL109: ; CALL OCCURS ; |171|
MVKL .S1 _unrollx2,A3 ; |172|
MVKH .S1 _unrollx2,A3 ; |172|
MVK .S1 6408,A4 ; |172|
CALL .S2X A3 ; |172|
ADDKPC .S2 RL110,B3,2 ; |172|
ADD .D1X A4,SP,A4 ; |172|
MV .D2 B10,B4 ; |172|
RL110: ; CALL OCCURS ; |172|
MVKL .S2 _filter_design,B5 ; |173|
MVKH .S2 _filter_design,B5 ; |173|
CALL .S2 B5 ; |173|
MV .S1 A12,A4 ; |173|
MV .L2X A15,B4 ; |173|
MV .D1 A13,A6 ; |173|
ADD .D2 8,SP,B6 ; |173|
ADDKPC .S2 RL111,B3,0 ; |173|
RL111: ; CALL OCCURS ; |173|
MVKL .S1 _filter_normalize,A3 ; |174|
MVKH .S1 _filter_normalize,A3 ; |174|
MV .D1 A12,A4 ; |174|
CALL .S2X A3 ; |174|
ADD .D2 8,SP,B4 ; |174|
ADDKPC .S2 RL112,B3,3 ; |174|
RL112: ; CALL OCCURS ; |174|
MV .D1 A14,A0
[!A0] BNOP .S1 L32,3 ; |178|
[!A0] LDW .D2T1 *+SP(6836),A15 ; |190|
|| ZERO .S2 B10
[!A0] LDW .D2T1 *+SP(6824),A12 ; |190|
; BRANCH OCCURS ; |178|
;** --------------------------------------------------------------------------*
;** BEGIN LOOP L30
;** --------------------------------------------------------------------------*
L30:
ADD .D2 B10,SP,B4
MVK .D2 0x4,B5 ; |180|
MV .D1X B4,A12 ; Define a twin register
MV .D1X B5,A13 ; |180|
MVKL .S2 __mpyd,B6 ; |182|
MVKH .S2 __mpyd,B6 ; |182|
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: Loop contains a call
;*----------------------------------------------------------------------------*
L31:
CALL .S2 B6 ; |182|
LDDW .D1T1 *++A12,A5:A4 ; |182|
ZERO .D2 B5 ; |182|
MVKH .S2 0x40d00000,B5 ; |182|
ADDKPC .S2 RL114,B3,0 ; |182|
ZERO .D2 B4 ; |182|
RL114: ; CALL OCCURS ; |182|
MVKL .S1 __fixdi,A3 ; |182|
MVKH .S1 __fixdi,A3 ; |182|
NOP 1
CALL .S2X A3 ; |182|
ADDKPC .S2 RL115,B3,4 ; |182|
RL115: ; CALL OCCURS ; |182|
EXT .S1 A4,16,16,A4 ; |182|
CMPLT .L1 A4,0,A0 ; |182|
SUB .D1 A13,1,A0 ; |187|
|| [ A0] MVK .L1 0xfffffffd,A3 ; |182|
|| [!A0] MVK .S1 0x4,A3 ; |182|
[ A0] BNOP .S1 L31,1 ; |187|
ADD .D1 A3,A4,A3
SHR .S1 A3,3,A3
[ A0] MVKL .S2 __mpyd,B6 ; |182|
|| SUB .S1 A13,1,A13 ; |187|
|| STH .D1T1 A3,*A11++ ; |186|
[!A0] SUB .D1 A10,1,A0 ; |188|
|| [ A0] MVKH .S2 __mpyd,B6 ; |182|
; BRANCH OCCURS ; |187|
;** --------------------------------------------------------------------------*
[ A0] BNOP .S1 L30,4 ; |188|
SUB .D1 A10,1,A10 ; |188|
|| ADDK .S2 32,B10 ; |188|
|| [!A0] LDW .D2T1 *+SP(6836),A15 ; |190|
; BRANCH OCCURS ; |188|
;** --------------------------------------------------------------------------*
LDW .D2T1 *+SP(6824),A12 ; |190|
;** --------------------------------------------------------------------------*
L32:
LDW .D2T1 *+SP(6828),A13 ; |190|
LDW .D2T1 *+SP(6816),A10 ; |190|
LDW .D2T1 *+SP(6820),A11 ; |190|
LDW .D2T2 *+SP(6840),B10 ; |190|
|| MV .S2 B13,B3 ; |190|
RET .S2 B3 ; |190|
|| LDW .D2T1 *+SP(6832),A14 ; |190|
LDW .D2T2 *+SP(6812
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -