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

[复制链接]
2696|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 | 显示全部楼层
感谢啦
firstblood 发表于 2012-5-8 16:00 | 显示全部楼层
这种方法很实用的,很不错
jxmzzr 发表于 2012-5-13 17:34 | 显示全部楼层
很不错的经验分享,很实用,很难得,谢谢楼主,必须的顶一个
木易同学 发表于 2012-5-13 21:58 | 显示全部楼层
有点意思
shenmu2012 发表于 2012-5-14 09:31 | 显示全部楼层
简明扼要,调试当中是很关键的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

506

主题

2446

帖子

8

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