
正文
怎么查看c语言编译的汇编代码,怎么查看c语言编译的汇编代码信息
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
keil怎样看编译产生的汇编代码
在成功编译的前提下,按Ctrl+F5,或依次点击菜单栏的“Debug”“Start/Stop Debug Session”,切换到调试界面。
菜单调试反汇编窗口,就可看到汇编了,不过那是天书,没什么用的。
一种方法是在成功编译程序后,点击工具栏上一个红色的D,进入调试状态,再把鼠标点到c代码处,右键查看汇编代码,就可以看到所以c编译后的汇编代码了。
LED0=0这条C指令编译器把它转换成了3条汇编指令MOVS、LDR、STR,这三句汇编分别对应的机器码就是2000、490B、6008。图中,0x08。。是CODE地址,然后该地址开始的机器码,最后就是这个机器对应的汇编语句。
相关问答
Q1: 如何查看C语言对应的汇编语言
有两种方法:(1)增加参数/FA:Project-Setting...,C/C++选项卡中的Project Options中增加参数/FA,编译后debug目录中将会增加对应源文件的汇编文件(*.asm)。
步骤如下:建立工程,导入C文件代码,编译生成hex文件。按CTRL+F5或者点击菜单Debug--Start/Stop Debug Session 点击View--Disassembly Window调出汇编窗口,如上图。通过以上步骤就可以看到与C对应的汇编程序了。
keilc中将C编译后进入Debug模式,就有对应的汇编。
如果你够犀利,可以用汇编语言去调用C的函数库。你可以下载masm32的编译器看看,里面的INC和LIB文件夹的内容和C都是一样的 不同的是,汇编只是将C语言里面的INC和LIB里面的内容用汇编语言翻译了一遍而已。
Q2: keil编译之后看不到有些C语言语句所对应的汇编
有些C语言根本就不会生成汇编代码,比如全局变量等等,因为单片机没有操作系统,根本就不会分配内存什么的。
菜单调试反汇编窗口,就可看到汇编了,不过那是天书,没什么用的。
有两种方法:(1)增加参数/FA:Project-Setting...,C/C++选项卡中的Project Options中增加参数/FA,编译后debug目录中将会增加对应源文件的汇编文件(*.asm)。
调试界面下,依次点击菜单栏的“View”“Disassembly Window”,即可打开反汇编窗口,其中包含有混排的源代码以及编译生成的汇编代码,如图所示。 注意经过优化后,源代码与汇编代码并不一定一致。
一种方法是在成功编译程序后,点击工具栏上一个红色的D,进入调试状态,再把鼠标点到c代码处,右键查看汇编代码,就可以看到所以c编译后的汇编代码了。
Q3: keil怎么看每段c语言对应的汇编
1、菜单调试反汇编窗口,就可看到汇编了,不过那是天书,没什么用的。
2、打开一个Keil5工程,在需要查看汇编代码的地方设置一个断点,这个用于定位,便于仿真一次性执行。直接按Ctrl加F5,执行仿真程序。
3、点击工具栏上一个红色的D,进入调试状态,再把鼠标点到c代码处,右键查看汇编代码,就可以看到所以c编译后的汇编代码了。
4、有些C语言根本就不会生成汇编代码,比如全局变量等等,因为单片机没有操作系统,根本就不会分配内存什么的。
Q4: keil3中c语言编好程序后我要看对应的汇编语言怎么看?怎么看啊?能帮我...
菜单\调试\反汇编窗口,就可看到汇编了,不过那是天书,没什么用的。
(2)如果想查看C语句对应的汇编代码的话,可以这样:F11单步调试,在debug工具栏中选择“disassembly”即可。每行C代码下面就是对应的汇编代码。
有些C语言根本就不会生成汇编代码,比如全局变量等等,因为单片机没有操作系统,根本就不会分配内存什么的。
LED0=0这条C指令编译器把它转换成了3条汇编指令MOVS、LDR、STR,这三句汇编分别对应的机器码就是2000、490B、6008。图中,0x08。。是CODE地址,然后该地址开始的机器码,最后就是这个机器对应的汇编语句。
Q5: 用c语言写的并编译连接好的程序如何查看其代码
exe程序是机器代码,是经过编译后了的程序,源程序是看不到的。
打开记事本 使用文件中的“打开”菜单 在弹出的对话框中选择文件类型为“所有文件”,然后再浏览到程序文件,点击打开。
已经编译了,看不出源代码了,但能看到机器代码,就是机器语言或汇编语言。 用一些工具可以分析出是用什么语言开发的,具体哪个工具想不起来了,可以去查。
怎么查看c语言编译的汇编代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于怎么查看c语言编译的汇编代码信息、怎么查看c语言编译的汇编代码的信息别忘了在本站进行查找喔。






