DSP2000汇编语言,看别人程序遇到一个难点

2019-03-26 16:13发布

难点在于,我实在不明白"varStartPtr"在程序中是什么作用? 以下是整个工程文件出现过“varStartPtr”的地方。

h文件中:
varStartPtr                        .usect         "BLDC_ISRvarSec",1                ;Must at the biginning of the RAM variables
        .global        varStartPtr                                                ;It is also double as ISR internal status register

//***ISR internal status
//***ADDR -- varStartPtr
#define ST_ISRLoopBit                0        //bit 0: 1, the first cycle; 0, the 2nd cycle with loop update and
                                                                //calculation. After reset, it is 0.
#define        StartStepsBits                0xE        //bits 1,2,3; the startup steps; max of 7 (It has to be bit 1~3)
#define ILoopENBit                        4        //bit 4; 1, the current loop enabled;0,disabled

asm文件中
MOVL         XAR6,#varStartPtr
MOV        @AR7,#(varEndPrt-varStartPtr);
MOVW        DP,#varStartPtr                                                   ;set DP
TBIT        @varStartPtr, #ST_ISRLoopBit                               ;ST_ISRLoopBit=0
AND        @varStartPtr, #((~(StartStepsBits))&(~(1<<ILoopENBit)))
TSET        @varStartPtr, #ILoopENBit                                   ;enable the loop
ADD     @varStartPtr,#2                                                   ;point to next step 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。