📄 rxdetector.asm
字号:
LDW .D1T1 *+A9(64),A14 ; |470|
NOP 1
LDDW .D2T2 *+SP(72),B11:B10 ; |470|
|| LDDW .D1T1 *+A9(48),A11:A10 ; |470|
RET .S2 B3 ; |470|
|| LDDW .D2T2 *+SP(80),B13:B12 ; |470|
|| LDDW .D1T1 *+A9(56),A13:A12 ; |470|
LDW .D2T1 *++SP(88),A15 ; |470|
NOP 4
; BRANCH OCCURS ; |470|
.endfunc 470,03c08fc00h,88
.sect ".text"
.sym _norm_ML,_norm_ML, 38, 3, 0
.func 228
;******************************************************************************
;* FUNCTION NAME: _norm_ML *
;* *
;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,B0,B1,B2,B3,B4,*
;* B5,B6,B7,B8,B9,B10,SP *
;* Regs Used : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,B0,B1,B2,B3,B4,*
;* B5,B6,B7,B8,B9,B10,SP *
;* Local Frame Size : 0 Args + 0 Auto + 16 Save = 16 byte *
;******************************************************************************
;******************************************************************************
;* *
;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
;* *
;******************************************************************************
_norm_ML:
;** --------------------------------------------------------------------------*
.line 2
.sym _Z1_r,4, 6, 17, 32
.sym _Z1_i,20, 6, 17, 32
.sym _Z2_r,6, 6, 17, 32
.sym _Z2_i,22, 6, 17, 32
.sym _Z2_i,26, 6, 4, 32
.sym _Z2_r,10, 6, 4, 32
.sym _Z1_i,20, 6, 4, 32
.sym _Z1_r,4, 6, 4, 32
.sym _len_Z1,11, 6, 4, 32
.sym _len_Z2,20, 6, 4, 32
.sym _norm_Z,0, 6, 4, 32
;** 234 ----------------------- len_Z1 = sqrtf(Z1_r*Z1_r+Z1_i*Z1_i);
;** 235 ----------------------- len_Z2 = sqrtf(Z2_r*Z2_r+Z2_i*Z2_i);
;** 237 ----------------------- norm_Z = sqrtf(len_Z1*len_Z1+len_Z2*len_Z2);
;** 239 ----------------------- return norm_Z;
STW .D2T2 B10,*SP--(16) ; |229|
STW .D2T2 B3,*+SP(12) ; |229|
STW .D2T1 A11,*+SP(8) ; |229|
STW .D2T1 A10,*+SP(4) ; |229|
MV .D2 B6,B10 ; |229|
|| MV .D1 A6,A10 ; |229|
.line 7
MPYSP .M2 B4,B4,B4 ; |234|
|| MPYSP .M1 A4,A4,A3 ; |234|
|| MVKL .S1 _sqrtf,A0 ; |234|
MVKH .S1 _sqrtf,A0 ; |234|
CALL .S2X A0 ; |234|
MVKL .S2 RL14,B3 ; |234|
ADDSP .L1X B4,A3,A4 ; |234|
MVKH .S2 RL14,B3 ; |234|
NOP 2
RL14: ; CALL OCCURS ; |234|
MV .D1 A4,A11 ; |234|
.line 8
MPYSP .M2 B10,B10,B4 ; |235|
|| MPYSP .M1 A10,A10,A3 ; |235|
|| MVKL .S1 _sqrtf,A0 ; |235|
MVKH .S1 _sqrtf,A0 ; |235|
CALL .S2X A0 ; |235|
MVKL .S2 RL15,B3 ; |235|
ADDSP .L1X B4,A3,A4 ; |235|
MVKH .S2 RL15,B3 ; |235|
NOP 2
RL15: ; CALL OCCURS ; |235|
MV .S2X A4,B4 ; |235|
.line 10
MPYSP .M1 A11,A11,A0 ; |237|
|| MVKL .S2 _sqrtf,B4 ; |237|
|| MPYSP .M2 B4,B4,B5 ; |237|
MVKH .S2 _sqrtf,B4 ; |237|
CALL .S2 B4 ; |237|
MVKL .S2 RL16,B3 ; |237|
ADDSP .L1X B5,A0,A4 ; |237|
MVKH .S2 RL16,B3 ; |237|
NOP 2
RL16: ; CALL OCCURS ; |237|
.line 12
.line 13
LDW .D2T2 *+SP(12),B3 ; |240|
MV .S1X SP,A9 ; |240|
LDW .D1T1 *+A9(4),A10 ; |240|
LDW .D1T1 *+A9(8),A11 ; |240|
LDW .D2T2 *++SP(16),B10 ; |240|
RET .S2 B3 ; |240|
NOP 5
; BRANCH OCCURS ; |240|
.endfunc 240,004080c00h,16
.sect ".text"
.sym _MLDetector,_MLDetector, 32, 3, 0
.func 257
;******************************************************************************
;* FUNCTION NAME: _MLDetector *
;* *
;* 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,B11,B12, *
;* B13,SP *
;* 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,B11,B12, *
;* B13,SP *
;* Local Frame Size : 0 Args + 96 Auto + 44 Save = 140 byte *
;******************************************************************************
;******************************************************************************
;* *
;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
;* *
;******************************************************************************
_MLDetector:
;** --------------------------------------------------------------------------*
.line 2
.sym _pDetectorStat,4, 24, 17, 32, $$fake0
.sym C$2,4, 6, 4, 32
.sym C$3,20, 6, 4, 32
.sym C$4,0, 6, 4, 32
.sym C$5,3, 6, 4, 32
.sym C$6,21, 6, 4, 32
.sym C$7,0, 214, 4, 32,, 2
.sym C$8,21, 214, 4, 32,, 2
.sym C$9,5, 6, 4, 32
.sym C$10,22, 6, 4, 32
.sym C$11,4, 6, 4, 32
.sym C$12,20, 6, 4, 32
.sym C$13,10, 14, 4, 32
.sym C$14,5, 6, 4, 32
.sym C$15,22, 6, 4, 32
.sym C$16,7, 6, 4, 32
.sym C$17,20, 6, 4, 32
.sym C$18,0, 214, 4, 32,, 2
.sym C$19,21, 214, 4, 32,, 2
.sym C$20,5, 6, 4, 32
.sym C$21,20, 6, 4, 32
.sym C$22,3, 6, 4, 32
.sym C$23,22, 6, 4, 32
.sym C$24,0, 6, 4, 32
.sym C$25,0, 14, 4, 32
.sym C$26,3, 24, 4, 32, $$fake1
.sym C$27,3, 24, 4, 32, $$fake1
.sym Y$0,4, 6, 4, 32
.sym Y$1,3, 6, 4, 32
.sym Y$2,6, 6, 4, 32
.sym Y$3,22, 6, 4, 32
.sym Y$8,23, 6, 4, 32
.sym Y$9,5, 6, 4, 32
.sym Y$10,6, 6, 4, 32
.sym Y$11,22, 6, 4, 32
.sym $_pS_out_0,28, 6, 4, 32
.sym $_pS_out_4,14, 6, 4, 32
.sym $_pS_out_8,72, 6, 1, 32
.sym $_pS_out_12,29, 6, 4, 32
.sym _pDetectorStat,36, 24, 1, 32, $$fake0
.sym _data_len,40, 6, 1, 32
.sym _pr1_data_I,44, 22, 1, 32
.sym _pr1_data_Q,48, 22, 1, 32
.sym _pr2_data_I,52, 22, 1, 32
.sym _pr2_data_Q,56, 22, 1, 32
.sym _normmin,12, 6, 4, 32
.sym _newnorm,4, 6, 4, 32
.sym _pp,60, 4, 1, 32
.sym _idx,10, 4, 4, 32
.sym _s1_I,96, 4, 1, 32
.sym _s1_Q,13, 4, 4, 32
.sym _s2_I,15, 4, 4, 32
.sym _s2_Q,10, 4, 4, 32
.sym U$121,88, 4, 1, 32
.sym U$133,76, 22, 1, 32
.sym U$130,92, 22, 1, 32
.sym U$127,80, 22, 1, 32
.sym U$122,84, 22, 1, 32
.sym U$119,26, 6, 4, 32
.sym U$118,11, 6, 4, 32
.sym U$117,27, 6, 4, 32
.sym K$19,68, 6, 1, 32
.sym K$20,64, 6, 1, 32
.sym _pS,4, 246, 1, 128,, 2, 2
.sym _pZ,20, 246, 1, 128,, 2, 2
;** 275 ----------------------- data_len = C$25 = pDetectorStat->uiNoOfSymb;
;** 277 ----------------------- C$27 = pDetectorStat->pfCplxSymbBuff_1;
;** 277 ----------------------- pr1_data_I = C$27->pIBuffer;
;** 278 ----------------------- pr1_data_Q = C$27->pQBuffer;
;** 279 ----------------------- C$26 = pDetectorStat->pfCplxSymbBuff_2;
;** 279 ----------------------- pr2_data_I = C$26->pIBuffer;
;** 280 ----------------------- pr2_data_Q = C$26->pQBuffer;
;** 282 ----------------------- if ( (float)C$25 <= 0.0F ) goto g18;
;** ----------------------- K$20 = C$24 = -3.0F;
;** ----------------------- K$19 = C$24;
;** 282 ----------------------- pp = 0;
;** ----------------------- #pragma LOOP_FLAGS(5120u)
ADDK .S2 -144,SP ; |258|
|| MV .S1X SP,A9 ; |258|
STW .D2T1 A15,*+SP(144)
STW .D2T2 B13,*+SP(140)
STW .D2T2 B12,*+SP(136)
STW .D2T2 B11,*+SP(132)
STW .D1T1 A12,*-A9(32)
|| STW .D2T2 B10,*+SP(128)
STW .D1T1 A13,*-A9(28)
|| STW .D2T2 B3,*+SP(124)
STW .D2T1 A11,*+SP(108)
STW .D2T1 A10,*+SP(104)
STW .D1T1 A14,*-A9(24)
STW .D2T1 A4,*+SP(36) ; |258|
.line 19
MV .D1 A4,A0
LDW .D1T1 *+A0(8),A0 ; |275|
NOP 4
INTSPU .L2X A0,B4 ; |275|
NOP 3
STW .D2T2 B4,*+SP(40) ; |275|
.line 21
MV .D1 A4,A3
LDW .D1T1 *A3,A3 ; |277|
NOP 4
LDW .D1T1 *A3,A4 ; |277|
NOP 4
STW .D2T1 A4,*+SP(44) ; |277|
.line 22
LDW .D1T1 *+A3(4),A3 ; |278|
NOP 4
STW .D2T1 A3,*+SP(48) ; |278|
.line 23
LDW .D2T1 *+SP(36),A3
NOP 4
LDW .D1T1 *+A3(4),A3 ; |279|
NOP 4
LDW .D1T1 *A3,A4 ; |279|
NOP 4
STW .D2T1 A4,*+SP(52) ; |279|
.line 24
LDW .D1T1 *+A3(4),A3 ; |280|
NOP 4
STW .D2T1 A3,*+SP(56) ; |280|
.line 26
INTSPU .L1 A0,A3 ; |282|
ZERO .D1 A0 ; |282|
STW .D2T1 A0,*+SP(60) ; |282|
NOP 1
CMPGTSP .S1 A3,A0,A1 ; |282|
[!A1] B .S1 L13 ; |282|
ZERO .D2 B4
MVKH .S2 0xc0400000,B4
STW .D2T2 B4,*+SP(64)
STW .D2T2 B4,*+SP(68)
[ A1] LDW .D2T2 *+SP(44),B11
; BRANCH OCCURS ; |282|
;** --------------------------------------------------------------------------*
;** -----------------------g3:
;** 286 ----------------------- pS[0] = K$20;
;** 287 ----------------------- pS[1] = K$20;
;** 288 ----------------------- pS[2] = K$20;
;** 289 ----------------------- pS[3] = K$20;
;** 292 ----------------------- C$19 = &pH_hat_i;
;** 292 ----------------------- C$23 = C$19[2];
;** 292 ----------------------- C$18 = &pH_hat_r;
;** 292 ----------------------- C$22 = C$18[2]*K$20;
;** 292 ----------------------- C$21 = *(float *)C$19*K$20;
;** 292 ----------------------- C$20 = *(float *)C$18*K$20;
;** 292 ----------------------- C$13 = (pDetectorStat->uiNextSymb+(unsigned)pp)%pDetectorStat->uiBufLen;
;** 292 ----------------------- pZ[0] = Y$0 = pr1_data_I[C$13]-(C$20-C$21+C$22-C$23*K$19);
;** 293 ----------------------- pZ[1] = Y$1 = pr1_data_Q[C$13]-(C$20+C$21+C$22+C$23*K$20);
;** 294 ----------------------- C$17 = C$19[3]*K$20;
;** 294 ----------------------- C$16 = C$18[3]*K$20;
;** 294 ----------------------- C$15 = C$19[1]*K$20;
;** 294 ----------------------- C$14 = C$18[1]*K$20;
;** 294 ----------------------- pZ[2] = Y$2 = pr2_data_I[C$13]-(C$14-C$15+C$16-C$17);
;** 295 ----------------------- pZ[3] = Y$3 = pr2_data_Q[C$13]-(C$14+C$15+C$16+C$17);
;** 284 ----------------------- idx = C$13;
;** 297 ----------------------- normmin = norm_ML(Y$0, Y$1, Y$2, Y$3);
;** 299 ----------------------- _pS_out_0 = pS[0];
;** 300 ----------------------- _pS_out_4 = pS[1];
;** 301 ----------------------- _pS_out_8 = pS[2];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -