📄 rxpll.asm
字号:
NOP 3
ADDSP .L1 A3,A0,A0 ; |153|
NOP 3
MPYSP .M1 A6,A0,A0 ; |153|
NOP 3
STW .D2T1 A0,*+SP(136) ; |153|
.line 66
LDW .D2T1 *+SP(168),A0
LDW .D2T1 *+SP(152),A4
LDW .D2T1 *+SP(168),A3 ; |155|
LDW .D2T2 *+SP(132),B4 ; |155|
NOP 2
CMPLTU .L1 A0,A4,A0 ; |155|
XOR .S1 1,A0,A0 ; |155|
CMPLTU .L2X A3,B4,B4 ; |155|
AND .S2X B4,A0,B0 ; |155|
[ B0] LDW .D2T1 *+SP(136),A0 ; |155|
NOP 4
[ B0] ADDSP .L2X A0,B12,B12 ; |155|
NOP 3
[ B0] STW .D1T2 B12,*+A13(24) ; |155|
.line 69
LDW .D2T1 *+SP(160),A0
LDW .D2T1 *+SP(136),A3
NOP 4
ADDSP .L1 A0,A3,A0 ; |158|
NOP 3
ADDSP .L2X A0,B3,B3 ; |158|
NOP 3
STW .D1T2 B3,*+A13(16) ; |158|
.line 71
CMPLTSP .S2X B3,A15,B0 ; |160|
[ B0] B .S2 L8 ; |160|
NOP 5
; BRANCH OCCURS ; |160|
;** --------------------------------------------------------------------------*
;** -----------------------g13:
;** 162 ----------------------- V$2 = V$1 -= K$7;
;** 163 ----------------------- if ( V$1 >= K$7 ) goto g13;
MV .D1 A15,A3
|| MV .S1X B3,A0
SUBSP .L1 A0,A3,A5 ; |162| (P) <0,0> ^
MVC .S2 CSR,B4
AND .S2 -2,B4,B5
ZERO .D1 A0
|| ZERO .S1 A6
|| MVC .S2 B5,CSR ; interrupts off
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;*
;* Loop source line : 160
;* Loop opening brace source line : 161
;* Loop closing brace source line : 163
;* Known Minimum Trip Count : 1
;* Known Max Trip Count Factor : 1
;* Loop Carried Dependency Bound(^) : 4
;* Unpartitioned Resource Bound : 2
;* Partitioned Resource Bound(*) : 2
;* Resource Partition:
;* A-side B-side
;* .L units 1 0
;* .S units 1 1
;* .D units 0 0
;* .M units 0 0
;* .X cross paths 0 0
;* .T address paths 0 0
;* Long read paths 0 0
;* Long write paths 0 0
;* Logical ops (.LS) 0 0 (.L or .S unit)
;* Addition ops (.LSD) 3 1 (.L or .S or .D unit)
;* Bound(.L .S .LS) 1 1
;* Bound(.L .S .D .LS .LSD) 2* 1
;*
;* Searching for software pipeline schedule at ...
;* ii = 4 Schedule found with 3 iterations in parallel
;* Done
;*
;* Collapsed epilog stages : 2
;* Prolog not removed
;* Collapsed prolog stages : 0
;*
;* Minimum required memory pad : 0 bytes
;*
;* Minimum safe trip count : 1
;*----------------------------------------------------------------------------*
L5: ; PIPED LOOP PROLOG
MVK .S2 0x1,B0
|| MV .D1 A5,A4 ; |162| (P) <0,4>
|| SUBSP .L1 A5,A3,A5 ; |162| (P) <1,0> ^
|| CMPLTSP .S1 A5,A3,A1 ; |163| (P) <0,4>
[ B0] MV .D1 A5,A0 ; |163| (P) <0,5>
|| [ B0] MV .S1 A4,A6 ; |163| (P) <0,5>
|| [ A1] ZERO .D2 B0 ; (P) <0,5>
[ B0] B .S2 L6 ; |163| (P) <0,6>
NOP 1
;** --------------------------------------------------------------------------*
L6: ; PIPED LOOP KERNEL
CMPLTSP .S1 A5,A3,A1 ; |163| <1,4>
|| MV .D1 A5,A4 ; |162| <1,4>
|| SUBSP .L1 A5,A3,A5 ; |162| <2,0> ^
[ B0] MV .D1 A5,A0 ; |163| <1,5>
|| [ A1] ZERO .D2 B0 ; <1,5>
|| [ B0] MV .S1 A4,A6 ; |163| <1,5>
[ B0] B .S2 L6 ; |163| <1,6>
NOP 1
;** --------------------------------------------------------------------------*
L7: ; PIPED LOOP EPILOG
;** --------------------------------------------------------------------------*
;** ----------------------- pPLLparam->theta = V$2;
MV .S1 A3,A15
|| MV .L2X A0,B3
|| STW .D1T1 A6,*+A13(16)
|| MVC .S2 B4,CSR ; interrupts on
;** --------------------------------------------------------------------------*
L8:
;** -----------------------g15:
;** 165 ----------------------- if ( V$1 >= K$50 ) goto g20;
;** ----------------------- #pragma LOOP_FLAGS(4096u)
.line 76
CMPLTSP .S2X B3,A12,B0 ; |165|
[!B0] B .S1 L12 ; |165|
NOP 5
; BRANCH OCCURS ; |165|
;** --------------------------------------------------------------------------*
;** -----------------------g18:
;** 167 ----------------------- V$3 = V$1 += K$7;
;** 168 ----------------------- if ( V$1 < K$50 ) goto g18;
MV .D1 A15,A4
|| MV .S1X B3,A0
ADDSP .L1 A4,A0,A6 ; |167| (P) <0,0> ^
MVC .S2 CSR,B4
ZERO .D1 A7
|| AND .S2 -2,B4,B5
ZERO .D1 A0
|| MV .S1 A12,A3
|| MVC .S2 B5,CSR ; interrupts off
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;*
;* Loop source line : 165
;* Loop opening brace source line : 166
;* Loop closing brace source line : 168
;* Known Minimum Trip Count : 1
;* Known Max Trip Count Factor : 1
;* Loop Carried Dependency Bound(^) : 4
;* Unpartitioned Resource Bound : 2
;* Partitioned Resource Bound(*) : 2
;* Resource Partition:
;* A-side B-side
;* .L units 1 0
;* .S units 1 1
;* .D units 0 0
;* .M units 0 0
;* .X cross paths 0 0
;* .T address paths 0 0
;* Long read paths 0 0
;* Long write paths 0 0
;* Logical ops (.LS) 0 0 (.L or .S unit)
;* Addition ops (.LSD) 3 1 (.L or .S or .D unit)
;* Bound(.L .S .LS) 1 1
;* Bound(.L .S .D .LS .LSD) 2* 1
;*
;* Searching for software pipeline schedule at ...
;* ii = 4 Schedule found with 3 iterations in parallel
;* Done
;*
;* Collapsed epilog stages : 2
;* Prolog not removed
;* Collapsed prolog stages : 0
;*
;* Minimum required memory pad : 0 bytes
;*
;* Minimum safe trip count : 1
;*----------------------------------------------------------------------------*
L9: ; PIPED LOOP PROLOG
MVK .S2 0x1,B0
|| MV .D1 A6,A5 ; |167| (P) <0,4>
|| ADDSP .L1 A4,A6,A6 ; |167| (P) <1,0> ^
|| CMPLTSP .S1 A6,A3,A1 ; |168| (P) <0,4>
[ B0] MV .D1 A6,A0 ; |168| (P) <0,5>
|| [ B0] MV .S1 A5,A7 ; |168| (P) <0,5>
|| [!A1] ZERO .D2 B0 ; (P) <0,5>
[ B0] B .S2 L10 ; |168| (P) <0,6>
NOP 1
;** --------------------------------------------------------------------------*
L10: ; PIPED LOOP KERNEL
CMPLTSP .S1 A6,A3,A1 ; |168| <1,4>
|| MV .D1 A6,A5 ; |167| <1,4>
|| ADDSP .L1 A4,A6,A6 ; |167| <2,0> ^
[ B0] MV .D1 A6,A0 ; |168| <1,5>
|| [!A1] ZERO .D2 B0 ; <1,5>
|| [ B0] MV .S1 A5,A7 ; |168| <1,5>
[ B0] B .S2 L10 ; |168| <1,6>
NOP 1
;** --------------------------------------------------------------------------*
L11: ; PIPED LOOP EPILOG
;** --------------------------------------------------------------------------*
;** ----------------------- pPLLparam->theta = V$3;
MV .S1 A3,A12
|| MV .L1 A4,A15
|| MV .L2X A0,B3
|| STW .D1T1 A7,*+A13(16)
|| MVC .S2 B4,CSR ; interrupts on
;** --------------------------------------------------------------------------*
L12:
;** -----------------------g20:
;** 171 ----------------------- ++i;
;** 171 ----------------------- if ( --L$1 ) goto g3;
.line 82
LDW .D2T2 *+SP(164),B4
LDW .D2T1 *+SP(168),A0
NOP 3
SUB .S1X B4,1,A1 ; |171|
[ A1] B .S1 L1 ; |171|
SUB .D2 B4,1,B4 ; |171|
ADD .D1 1,A0,A0 ; |171|
STW .D2T2 B4,*+SP(164) ; |171|
STW .D2T1 A0,*+SP(168) ; |171|
NOP 1
; BRANCH OCCURS ; |171|
;** --------------------------------------------------------------------------*
L13:
;** -----------------------g21:
;** 173 ----------------------- pPLLparam->delta = pPLLparam->delta_avg*0.015625F;
;** 173 ----------------------- return;
.line 84
LDW .D1T1 *+A13(24),A0 ; |173|
ZERO .D2 B4 ; |173|
MVKH .S2 0x3c800000,B4 ; |173|
NOP 2
MPYSP .M1X B4,A0,A0 ; |173|
NOP 3
STW .D1T1 A0,*+A13(20) ; |173|
.line 85
LDW .D2T2 *+SP(196),B3 ; |174|
LDDW .D2T2 *+SP(200),B11:B10 ; |174|
LDW .D2T1 *+SP(192),A14 ; |174|
LDDW .D2T1 *+SP(176),A11:A10 ; |174|
LDW .D2T1 *+SP(216),A15 ; |174|
RET .S2 B3 ; |174|
|| LDDW .D2T2 *+SP(208),B13:B12 ; |174|
LDDW .D2T1 *+SP(184),A13:A12 ; |174|
ADDK .S2 216,SP ; |174|
NOP 3
; BRANCH OCCURS ; |174|
.endfunc 174,03c08fc00h,216
;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES *
;******************************************************************************
.global _cos_table
.global __strasg
;******************************************************************************
;* TYPE INFORMATION *
;******************************************************************************
.sym _Int16, 0, 3, 13, 16
.sym _Int16, 0, 3, 13, 16
.stag $$fake0, 224
.member _alpha, 0, 6, 8, 32
.member _beta, 32, 6, 8, 32
.member _loop_gain, 64, 6, 8, 32
.member _scaling_factor, 96, 6, 8, 32
.member _theta, 128, 6, 8, 32
.member _delta, 160, 6, 8, 32
.member _delta_avg, 192, 6, 8, 32
.eos
.sym _typRX_PLLPARAM, 0, 8, 13, 224,$$fake0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -