keil调试为什么总进入汇编(keil调试时窗口打不开怎么办)

在keil for arm里我用c程序调用汇编子程序,但是调试的时候总是会直接进入汇编程序,跳过c程序断点

证明你断点设置的不对,比如你说的调用,设在调用指令上,肯定是进入这个函数里面,你设在其前一条指令就可以了。

keil调试的时候c语言怎么变成汇编语言了

有几种情况:

A. 你编译的时候不是调试方式,不是调试方式的时候,C-汇编是单向的,也就是说运行的代码已经不可能返回原来的源程序了,因此你只能看汇编代码了。

B.你的环境配置存在问题。

C.楼上所述,你调试的程序在执行过程中进入了非你自己编写的区域,比如启动代码、库函数等等。

我用keil进行调试时,程序总是自汇编的一段程序里反复执行,无法跳到main函数,请问一下大家怎么解决

1. 正式产品的C51程序应该是一个死循环。如果不是死循环,执行完main后,执行RET,将会将堆栈里的数据当做地址压入PC,程序跑错。最后会回到地址0000H,重新开始,进入main。你仿真在00H做中断,就会发现他回去了。

2. 你说的不清楚,跳转还是会跳转的。程序运行结果正确就说明没有错。除非你程序错误。如果你是在仿真时看到没有跳转,还是在那一行,那是他还有数据要处理,看汇编就知道了。

我用汇编语言编的程序,在keil调试的时候为什么老是往汇编语言里边跑呢?高手指点一下。谢谢!

应该是程序停在了启动代码处,而启动代码是用汇编语言编写的。

打开工程属性页,在Debug标签页,选择“go until main”选项即可,则调试时,程序将会停止在c语言的main函数入口处。

361知讯网

本文链接:http://pdidw.com/keil/51661.html

发表评论

评论列表

还没有评论,快来说点什么吧~