打印

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

[复制链接]
1542|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
独孤求败2030|  楼主 | 2013-7-10 23:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
难点在于,我实在不明白"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

相关帖子

沙发
SLEET1986| | 2013-7-11 15:00 | 只看该作者
LZ这程序贴的也太太乱了.

使用特权

评论回复
板凳
独孤求败2030|  楼主 | 2013-7-11 16:59 | 只看该作者
SLEET1986 发表于 2013-7-11 15:00
LZ这程序贴的也太太乱了.

不好意思,这是我的错。我已经差不多懂了,等我都弄懂了出来跟大家分享一下。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

39

帖子

1

粉丝