[国产单片机] 关于这段初始化程序的用意

[复制链接]
 楼主| dianzilc 发表于 2014-7-5 14:15 | 显示全部楼层 |阅读模式
本帖最后由 dianzilc 于 2014-7-5 14:25 编辑

void        InitMCU(void)
{
        __asm
        {
                CLR     0X00
                NOP
                DECMS   0X00
                JMP     $-2
        };
        Y=0;
        for(Z=0;Z<=33;Z++)
        {
            _YZ=0;
        }
   ……
}
所用的单片机是松翰的SN8P2511,Y和Z是两个寄存器, "_YZ=0;"这样写什么意思?前面的汇编的作用是什么,小弟新手,请各位知道的前辈解释下,谢谢!
ayb_ice 发表于 2014-7-5 14:27 | 显示全部楼层
应该是RAM清零
旭日东起 发表于 2014-7-6 18:11 | 显示全部楼层
间接寻址,清RAM
 楼主| dianzilc 发表于 2014-7-9 20:16 | 显示全部楼层
本帖最后由 dianzilc 于 2014-7-9 20:20 编辑

谢谢两位大侠指点,我也在数据手册上找到了_YZ的作用,的确是间接寻址。第一次用松翰的单片机不习惯,还是得多看数据手册才行啊。现在对汇编的这两句感觉没什么用啊:DECMS   0X00
JMP     $-2    不懂各位大侠们怎么看?我感觉这两句的执行过程是:地址0x00的值循环自减1(之前已清零),直到0x00中的值再次为0才跳出循环。不懂这样的理解对不对?
moyue 发表于 2014-7-18 18:08 | 显示全部楼层
一般在写程序的开始,都会有一段清ram的动作,规格书中写道,YZ的用法
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

93

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部