玻璃瓶 发表于 2012-5-21 09:30

求助:坛里有玩单片机的高手吗?帮忙解答一下。

本帖最后由 玻璃瓶 于 2012-5-22 06:27 编辑

坛里有玩单片机的高手吗?小弟不才,学单片机的时候碰到了个问题:自己编的汇编程序,看着是没错了,但是汇编时没有通过,百思不得其解。请哪位高手帮忙解答一下。万分感谢!21867611


各位大侠帮我看看,汇编时就40行和99行不能通过

“   PAN1:JNB P3.2,DIS1            ;判断引脚P3.2是低(有键按)就跳转到DIS1处运行
。。。
         JB P3.6,FANHUI          ;判断引脚P3.7是低(有键按)就跳转到FANHUI处运行”

就这两行汇编时显示出错。

青岛同兴维修 发表于 2012-5-21 22:36

程序 编译的时候 出错不一定是程序编错了有时候字符串行了字符没对齐或者 少了多了标点符号 都会出错   也许子程序调用引用路径不对都会出问题   建议 把程序拆散一部分一部分运行 试试

玻璃瓶 发表于 2012-5-21 22:58

各位大侠帮我看看,汇编时就40行和99行不能通过

玻璃瓶 发表于 2012-5-21 23:01

“   PAN1:JNB P3.2,DIS1            ;判断引脚P3.2是低(有键按)就跳转到DIS1处运行
。。。
         JB P3.6,FANHUI          ;判断引脚P3.7是低(有键按)就跳转到FANHUI处运行”
就这两行汇编时显示出错。

玻璃瓶 发表于 2012-5-22 21:10

顶上去求教。

玻璃瓶 发表于 2012-5-23 13:32

顶上去求高手指教。:)

revengerxp 发表于 2012-5-29 00:22

sorry我只会C语言

组合开关 发表于 2012-6-23 16:48

回复 1# 玻璃瓶

楼主这个程序后来搞定了么?编译出现提示错误“targer out of range ”是提示跳转超出了范围,JNB和JB指令使用8bit相对偏移量转移跳转范围限制在-128到+127字节之间,楼主写这个汇编也跳得太远了,后面要跟一条LJMP(16Bit)或AJMP(11Bit)才行
如这条:
PAN1:JNB P3.2,DIS1
...
改为:
PAN1:JB P3.2,NEXT1
       LJMP DIS1
NEXT1:...
页: [1]
查看完整版本: 求助:坛里有玩单片机的高手吗?帮忙解答一下。