keil怎样把C语言转换成单片机汇编语言

有C语言程序加载在KEIL中 怎样可以获得单片机汇编语言

1、打开Keil,新建一个51工程,同时新建一个main.c文件,并加入到工程源代码当中。

2、再点击新建文件按钮,新建一个汇编语言源文件:test.asm,并将它保存到指定目录。

3、在test.asm当中输入下面的代码。

4、代码编写完成后,需要将test.asm加入到工程当中,即鼠标右键点击对应工程的源程序文件夹,选择“Add Files to Group……”,软件会弹出“Add Files to Group……“对话框。

5、Keil默认的源文件是c,输入*.asm查找所有汇编语言源文件,确定后点击“Add”按钮,然后会显示该目录所有的asm文件,选择该文件再次点击“Add”即可完成添加。

6、添加完test.asm后,回到main.c,对test_fun进行声明调用,然后编译即可,正常情况是不会出现Error也不会出现Warning。

7、如果在汇编源程序的函数前没有添加RSEG语句则在编译时会出现下面的错误和警告。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-27

首先在keil里,设置选项时,在列表选项中的汇编代码一项打勾。见下图

然后编译,编译后,在工程的同一个文件夹下有一个.LST文件,打开就看到了汇编代码,不过,需要自己进行整理,否则,是不能直接作为汇编程序的。

下面是一个例子:这是一个主程序的汇编代码,格式就是这样的。

             ; FUNCTION main (BEGIN)

                                           ; SOURCE LINE # 16

;---- Variable 'k' assigned to Register 'R4' ----

                                           ; SOURCE LINE # 17

                                           ; SOURCE LINE # 19

0000 D2B2              SETB    light

0002         ?C0007:

                                           ; SOURCE LINE # 20

                                           ; SOURCE LINE # 21

                                           ; SOURCE LINE # 23

0002 7F05              MOV     R7,#05H

0004 120000      R     LCALL   _delayms

                                           ; SOURCE LINE # 25

0007 300008      R     JNB     blink,?C0009

                                           ; SOURCE LINE # 26

                                           ; SOURCE LINE # 27

000A 0C                INC     R4

                                           ; SOURCE LINE # 28

000B BC2804            CJNE    R4,#028H,?C0009

                                           ; SOURCE LINE # 29

                                           ; SOURCE LINE # 30

000E B2B2              CPL     light

                                           ; SOURCE LINE # 31

0010 E4                CLR     A

0011 FC                MOV     R4,A

                                           ; SOURCE LINE # 32

                                           ; SOURCE LINE # 33

0012         ?C0009:

                                           ; SOURCE LINE # 34

0012 20B7ED            JB      k0,?C0007

                                           ; SOURCE LINE # 35

C51 COMPILER V7.00  LIGHT1                                                                 09/14/2015 12:54:15 PAGE 3   


                                           ; SOURCE LINE # 36

0015 B200        R     CPL     blink

                                           ; SOURCE LINE # 37

0017 200004      R     JB      blink,?C0012

001A D2B2              SETB    light

001C 8002              SJMP    ?C0014

001E         ?C0012:

                                           ; SOURCE LINE # 38

001E E4                CLR     A

001F FC                MOV     R4,A

0020         ?C0014:

                                           ; SOURCE LINE # 39

0020 20B7DF            JB      k0,?C0007

0023 80FB              SJMP    ?C0014

             ; FUNCTION main (END)

第2个回答  2013-05-09
右击C文件,进入“options for files '**.C' ”勾选这两项,再编译就会出现一个"*.src"的文件,这就是C语言的汇编文件了。自己操作一下就会的,加油,还有,当有汇编和C语言混合编程时也要选这两项。本回答被网友采纳
第3个回答  2018-08-02
只要编译通过,在调试仿真里面,程序列表就是C与汇编混合显示。本回答被网友采纳

C语言写的程序 怎么反汇编成汇编语言
在keilc中,单片机的C语言程序可以再DEBUG模式中得到对应的汇编程序。步骤如下:1、建立工程,导入C文件代码,编译生成hex文件。2、按CTRL+F5或者点击菜单Debug--Start\/Stop Debug Session 3、点击View--Disassembly Window调出汇编窗口,如上图。通过以上步骤就可以看到与C对应的汇编程序了。

keil怎样把C语言转换成单片机汇编语言
首先在keil里,设置选项时,在列表选项中的汇编代码一项打勾。见下图 然后编译,编译后,在工程的同一个文件夹下有一个.LST文件,打开就看到了汇编代码,不过,需要自己进行整理,否则,是不能直接作为汇编程序的。下面是一个例子:这是一个主程序的汇编代码,格式就是这样的。; FUNCTION main (BEGIN)...

keil怎样把C语言转换成单片机汇编语言
回答:右击C文件,进入“options for files '**.C' ”勾选这两项,再编译就会出现一个"*.src"的文件,这就是C语言的汇编文件了。自己操作一下就会的,加油,还有,当有汇编和C语言混合编程时也要选这两项。

汇编语言和c语言混编 用keil怎么写入单片机啊?
1. 在Keil的左侧项目列表中,找到并选中包含汇编代码的C文件。2. 右键点击所选文件,选择“Option for File”选项。3. 在弹出的对话框右侧区域,会看到五个复选框。初始状态,这些复选框前的勾均为灰色。4. 点击“Generate Assembler SRC File”和“Assembler SRC File”这两个选项,直到它们的勾变...

用keil 怎样将一段52单片机的c代码转成汇编输出?
1、首先编译,必须通过才行。2、之后,按CTRL+F5进入调试仿真界面。3、点击“View菜单”,打开“Disassembly Windows”,这个页面就是与C对应的汇编程序。

51单片机,有了c语言的程序,如何把它变换成汇编语言
可以实现,但转换的结果不是太理想,跟反汇编差不多,需要自己去整理,其转移的标号需要自己重新定义,转换结果里是用行地址替代的

keil怎样把C语言转换成单片机汇编语言
只要编译通过,在调试仿真里面,程序列表就是C与汇编混合显示。

用keil软件如何将汇编与C语言结合起来一起编写单片机的程序
在混合编程中,最常用也是最实用的方法是在C语言中加入部分汇编语言的代码,分为两种方法。方法1)在Keil C51的函数中直接插入汇编语句 方法2)按照Keil C51接口规则,编写汇编模块 方法1是利用编译控制命令#pragma asm(用来标识所插入的汇编语句的起始位置) 和 #pragma endasm (用来标识所插入的汇编...

Keil软件怎么把命令变成单片机能接受的信息
这个过程就是编译 编译器把你写的代码,先转换为汇编语言,然后翻译成十六进制编码,就这样。如果你不怕麻烦,直接用十六进制编辑器,输入代码保存起来,它也能放到单片机里面工作。补充:仿真器和keil在通信,仿真芯片内部存在仿真专用的程序,keil可以通过串口通知仿真芯片如何运行,并将结果传送回keil。

单片机:在keil里写完程序后怎么生成单片机那个文件(好像是.hex格式...
project > new project 然后选择你所用的单片机类型,选好后点file>new 弹出一界面,此时点保存将骑保存为.c(或者。asm)后缀文件 在左边 右键点击source group ( project名) 然后选add file to group source group ( project名) 选中你刚才保存的。c文件 然后在里面久可以编辑你的c程序或者汇...

相似回答