您现在所在的是:

单片机论坛

回帖:0个,阅读:1208 [上一页] [1] [下一页]
* 帖子主题:

PCADD指令注意事项

1064
工控秀才
文章数:80
年度积分:50
历史总积分:1064
注册时间:2006/6/16
发站内信
09工控人生征文
08年优秀博客奖
发表于:2011/10/23 21:03:16
#0楼

和其他体系的MCU一样,应广单片机也有自己的散转指令。
但是不明白是应广科技当时的设计失误,还是有意这样的设计,
让散转的偏移和其他体系的MCU不一样,一个很容易忽视的问题是
当执行PCADD时,如果执行之前累加器中A的值为0,程序指针不会
从紧靠PCADD的下一条地址执行,而是跳到一个意想不到的地址。
这样,可能需要我们在做一些功能时做一点调整。
  例如:
            如果ACC中的数据是用来查表的,那么对应关系就需要调整了。
           简单的应用是用0~9查数码管的段码,
           cha_tab:
           mov   a, data
           inc     a                //如果其他体系的MCU,完全不需要这句了,而这句引入
                                       //加入了一些不便,万一data中的值为0xff,结果会错误,
                                       //不加这句,没有对应关系
            pcadd                 //执行此句,a中的值可能会改变,联想下delay 指令,呵呵
           ret    0x3f  //当a的值为1时,执行此条语句  
           ret   0x06
           ..........
        这样的指令,能不用,还是尽量不用的好,或者尽量少用,呵呵。

此帖来自中华工控网工控博客
原文件地址:http://blog.gkong.com/more.asp?id=145359&Name=gongkong
14PIN的单片MCU多核心时代已来临,  想在低容量的MCU系统跑多任务吗,欢迎登陆"http://gongkong.gkbk.com"我的博客 查看详情,谢谢!

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

31.2002