MOVL @XT,ACC
MOVW DP,#_dwPll_Cos_out
IMPYL P,XT,@_dwPll_Cos_out ;P = Cos_Out * Ref_Sin[31:0]
QMPYL ACC,XT,@_dwPll_Cos_out ;ACC = Cos_Out * Ref_Sin[63:32]
LSL64 ACC:P,#13 ;ACC->Q24, Phase error = 2 * ACC
MOVW DP,#_dwPhase_Err_Max
MINL ACC,@_dwPhase_Err_Max
MOVW DP,#_dwPhase_Err_Min
MAXL ACC,@_dwPhase_Err_Min
MOVW DP,#_dwPhase_Error_Out
MOVL @_dwPhase_Error_Out,ACC ;Q24 让errorout=min,max,out三者的中间值
这段程序是ISR.asm中一段话,注释表明其用于求解phase error,那么请问其中
LSL64 ACC:P,#13 ;ACC->Q24, Phase error = 2 * ACC这句话为什么移位之后,phase error就等于2倍ACC呢?