关于keil使用的奇怪问题

[复制链接]
2556|13
 楼主| yjp0k 发表于 2008-10-25 11:17 | 显示全部楼层 |阅读模式
在程序的中间部分,有10行左右的程序执行不到,无语发错误,编译正常,下载到单片机,这10行业不能执行。把这10行程序删除,下面的10行程序再这个位置也不能执行。望高手指教。
hotpower 发表于 2008-10-25 11:20 | 显示全部楼层

哈哈~~~A人或AC人都不会遇到此怪异的问题~~~

zyok 发表于 2008-10-25 11:28 | 显示全部楼层

被优化了吧,反A看看...

hgjinwei 发表于 2008-10-25 12:09 | 显示全部楼层

Keil很多管闲事的

十有**是被Keil"收藏"了
xwj 发表于 2008-10-25 12:14 | 显示全部楼层

呵呵,建议LZ选择优化级别0,免得KEil“多管闲事” :-)

 楼主| yjp0k 发表于 2008-10-25 15:05 | 显示全部楼层

回复

 这是keil 的截图,把什么程序放在灰色的位置都不执行。把优化改为0,也不行。不知道什么原因。谢谢!

 
 楼主| yjp0k 发表于 2008-10-25 17:06 | 显示全部楼层

回复

原程序中有一个set flag:clr flag是什么意思?是不是和它有关系?怎么清除呢?
hgjinwei 发表于 2008-10-26 16:54 | 显示全部楼层

奇怪,

我还没试过汇编程序给Keil优化了的,怎么会这样的呢?
冷漠 发表于 2008-10-26 17:46 | 显示全部楼层

#60=#3CH!

说的不对,请参考。

CJNE A,#60,RR4

A里是BCD码0~9,永远不能和#0CH比较。应该是#60H?
hgjinwei 发表于 2008-10-26 18:06 | 显示全部楼层

厉害,这也给Keil检测到了,看来Keil的多管闲事确实名不虚传!

computer00 发表于 2008-10-26 21:05 | 显示全部楼层

应该如9楼所说,BCD码60就是0x60了……

benxiaoyu4 发表于 2008-10-27 10:05 | 显示全部楼层

学习了

学习了,楼主不是被优化了,而是无法继续执行下去成死循环了
冷漠 发表于 2008-10-27 13:50 | 显示全部楼层

LZ也不说一下究竟问题在哪?

CJNE A,#60,RR4 

虽然再也无法进一步看到机器内部如何处理#60的,但是可以肯定:机器内部只能处理二进制数,所以: CJNE A,#60,RR4 在机器内部是一定转换为:

CJNE A,#3CH,RR4 处理的。任何汇编语言都是这样。

不知LZ修改后是否正常了?


hkap 发表于 2008-10-27 15:03 | 显示全部楼层

重新建个新项目

您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

0

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