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

如题所述

应该是程序停在了启动代码处,而启动代码是用汇编语言编写的。
打开工程属性页,在Debug标签页,选择“go until main”选项即可,则调试时,程序将会停止在c语言的main函数入口处。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-19
C语言是高级语言,汇编是低级语言,也是最接近机器语言的,要硬件执行程序,实质是跑机器语言,而那个我们看起来很费劲,就采用汇编来跑,个人鄙见,不对之处还请指正!本回答被提问者采纳
第2个回答  2011-03-12
神马意思?keil是用于单片机的编译汇编器,你用汇编写的,不往汇编跑往哪跑啊?追问

不好意思,打错了,我再keil里面使用c编写的,在调试的时候老是往汇编里面跑

我用汇编语言编的程序,在keil调试的时候为什么老是往汇编语言里边跑呢...
应该是程序停在了启动代码处,而启动代码是用汇编语言编写的。打开工程属性页,在Debug标签页,选择“go until main”选项即可,则调试时,程序将会停止在c语言的main函数入口处。

在调试C程序时突然会跳至汇编语言里去怎么解决
如果没有生成高级语言调试信息的话,那肯定只能是用汇编语言调试 而有的的编译器则只能进行汇编语言级的调试 所以楼主这种情况是正常的、常见的,楼主应该附带看一下汇编语言和操作系统、内存储器这样的基本知识。喜欢楼主能够得到提高。

在keil软件中调试程序时,无法设置断点,必须切换到汇编语言窗口才能设 ...
1、keil是模拟MCU的内部特性和外部设备(I\/O口、中断、串行、定时等)特性,其模拟是一种“自内向外”的真实模拟,换句话说,可以又任意一个内部数据处理结果去指导I\/O口工作,但这种I\/O工作的方向是“输出型”的(广义),而对于MCU要去获取外部状态的工作(我把它称作为“输入型”的),则在Ke...

keil调试的时候c语言怎么变成汇编语言了
A. 你编译的时候不是调试方式,不是调试方式的时候,C->汇编是单向的,也就是说运行的代码已经不可能返回原来的源程序了,因此你只能看汇编代码了。B.你的环境配置存在问题。C.楼上所述,你调试的程序在执行过程中进入了非你自己编写的区域,比如启动代码、库函数等等。

为什么我用keil仿真时,每次单步执行都跳出反汇编窗口?谢谢
楼上的说得太简单了,我来补充一下吧。1)、先用keil打开一个用C语言编写的工程文件(一定要是C写的);2)、转到仿真模式(CTRL+F5),将程序窗口缩小点(这步很关键),就是按右上角的那个象麻将里的白板的那个(不是KEIL软件窗口喔!!),然后就按一下F10或F11,会马上看到反汇编窗跳出,把...

keil调试的时候c语言怎么变成汇编语言了
调试的时候c语言已经被编译过了,但程序窗口里有被注释掉的c语言代码和编译后实际对用c代码所执行的汇编代码,对照参考就知道编译结果是不是最终按照你c语言代码的意图去执行的,毕竟最终可执行二进制代码是由编译后的汇编生成的

keil mdk 启动程序(汇编语言写的)仿真时没法跟踪。 怎样让它自动跟踪代...
如下图所示,去掉红色圈中"Run to main()"前的复选框,调试时就能自动定位到启动代码,否则仿真时是定位到main函数的.左边是软件仿真选项,右边是硬件仿真选项.

keil中写汇编语言编译后出现error A51:TARGET OUT OF RANGE
很多时候汇编的代码是要求固定长度的。可能你设置的程序段太小,比如256个字节,放不下那么多的代码。建议:1、更换目标芯片 2、修改目标代码段长度 3、裁减程序 4、减少代码长度(这个看你水平了)

汇编语言和c语言混编 用keil怎么写入单片机啊?
在使用Keil进行汇编语言与C语言混编,将程序写入单片机时,首先需要遵循特定的写法。例如,使用如下的格式:pragma asm汇编代码#pragma endasm 然而,要实现这种写法,需要进行相应的设置。操作步骤如下:1. 在Keil的左侧项目列表中,找到并选中包含汇编代码的C文件。2. 右键点击所选文件,选择“Option for...

如何使用Keil编译汇编程序或C语言程序
选择保存路径和编辑文件名。记住,这里的文件名很重要,如果你是C语言程序的话,加上.c后缀,如果你是用汇编语言,加上.ASM后缀。这样,Keil就能自动识别你的文件类型了。如何使用Keil编译汇编程序或C语言程序 现在你就可以将保存的文件添加到项目中了,项目文件要提前在[Project]中新建。右击选择【Source...

相似回答