打印

“屏蔽法”在软件排错中的运用

[复制链接]
1325|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huangfeng33|  楼主 | 2012-5-4 21:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在这里要讲的“屏蔽法”的原理是运用“:”或“*   */ 对可疑代码或模块实施屏蔽不。
如:
/ *
L:MOV       A,R2
    MOVC     A,@ATDPTR
    MOV       P2,A
    INC        R2
    CJNE      R2,#09H,L
    MOV       R2,#00H      */

或者是

      ;L2:    MOV     P0,A
                ;RL        A
         ;DJNZ           R3,L2
         ;MOV            R3,#08H
以下是屏蔽代码的方法,如果屏蔽可疑代码后程序运行正常,说明问题就在屏蔽的代码之中。这种方法很好用,如果屏蔽代码后程序仍有问题,说明屏蔽的代码没问题,将屏蔽说明符去掉即可恢复代码功能,多面手继续屏蔽其他可疑代码,以此类推,直到查出问题所在的代码行。。
编程中的错误是多种多样的,常见的有以下几种。
1:逗号错误,如
MOV     A   R2             ;缺逗号
2:中文冒号错误,如
START: MOV   P0,A             ;如果这一句有错误就是冒号出了问题,可能是中文符号
DB    #02H,@03 H,#04H     ;汇编指令在数据表中立即数不使用“#”符号
DB    0FH,3FH 7FH  6FH       ;如果有错误就是没有逗号
ACALL     LOOP       ;如果有误就是前一个标识符LOOP后面没有“:”符号
等等
除了以上错误外还有逻辑错误,如果遇到了逻辑错误,则只有在查找工程施工任务图和你的编程思路后才给解决。
归纳起来一句话,要想程序正常运行,你得排除所有的障碍和错误。

相关帖子

沙发
dgun| | 2012-5-7 14:37 | 只看该作者
感谢楼主分享!

使用特权

评论回复
板凳
ssdw| | 2012-5-7 20:52 | 只看该作者
这个有点意思 不错

使用特权

评论回复
地板
ssdw| | 2012-5-7 20:52 | 只看该作者
感谢啦

使用特权

评论回复
5
firstblood| | 2012-5-8 16:00 | 只看该作者
这种方法很实用的,很不错

使用特权

评论回复
6
jxmzzr| | 2012-5-13 17:34 | 只看该作者
很不错的经验分享,很实用,很难得,谢谢楼主,必须的顶一个

使用特权

评论回复
7
木易同学| | 2012-5-13 21:58 | 只看该作者
有点意思

使用特权

评论回复
8
shenmu2012| | 2012-5-14 09:31 | 只看该作者
简明扼要,调试当中是很关键的

使用特权

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

本版积分规则

506

主题

2446

帖子

8

粉丝