主题中讨论的其他器件:C2000WARE-DIGITALPOWER-SDK、 TIDM-02000
大家好
我能否知道如何将以下汇编代码转换为 SPRABU2文档中的 C 可读代码。 。
这种汇编实现方式很难理解。 根本不可读。
请帮帮我。
;------------------------------------------------------------------------------ ;Macro Name: mSlope_Com ;Description: The slope compensation of the PCMC ;Parameter: ; n: The comparator number ; _Ref: The reference current Q24 ; _Com_Ratio: The slope compensation ratio ;------------------------------------------------------------------------------ mSlope_Com .macro n,_Ref,_Com_Ratio ;========================= ; Set up address pointers SPRABU2 MOVL XAR0,#_Ref ; Net pointer for InA (XAR0) MOVL XAR1,#_Comp:n:Regs.RAMPMAXREF_SHDW ; pointer to Comparator Ramp Max Ref (XAR1) MOVL XAR2,#_Comp:n:Regs.DACVAL ; pointer to Comparator Ramp Dac Val (XAR2) MOVL XAR3,#_Comp:n:Regs.RAMPDECVAL_SHDW; Output for DACn MOVL XT,*XAR0 MOVW DP,#_Com_Ratio QMPYL ACC,XT,@_Com_Ratio ;ACC = upper16(Q24*Q24) = Q16 MOVL *XAR3,ACC ;_Comp:n:Regs.RAMPDECVAL_SHDW = ACC MOVL ACC,*XAR0 ; Q24 SFR ACC,#8 ; Q16 because Maximum RAMPMAXREF = 0xFFFF MOV *XAR1,AL ; Output value to RAMPMAXREF LSR AL, #6 ; Q10 to be written to DACVAL MOV *XAR2,AL ; Output value to DACVAL .endm
谢谢你