导航:首页 > 源码编译 > c语言函数是怎么编译成汇编的

c语言函数是怎么编译成汇编的

发布时间:2023-02-04 14:30:48

① 如何将C语言代码转换为对应的汇编代码

VC6.0下有两种方法:
(1)增加参数/FA:Project->Setting...,C/C++选项卡中的Project Options中增加参数/FA,编译后debug目录中将会增加对应源文件的汇编文件(*.asm)。
(2)如果想查看C语句对应的汇编代码的话,可以这样:F11单步调试,在debug工具栏中选择“disassembly”即可。每行C代码下面就是对应的汇编代码。
如果debug工具栏不见了,可在VC上方空白菜单处右键,选择“debug”即可弹出debug工具栏。

例如:
C代码程序:
int main()
{
int a = 3;
int b = 4;
int c = a + b;
printf("c=%d/n", c);

return 0;
}

对应的汇编代码程序(部分)如下:
5: int a = 3;
00401028 mov dword ptr [ebp-4],3
6: int b = 4;
0040102F mov dword ptr [ebp-8],4
7: int c = a + b;
00401036 mov eax,dword ptr [ebp-4]
00401039 add eax,dword ptr [ebp-8]
0040103C mov dword ptr [ebp-0Ch],eax

gcc下编译加参数-S,如gcc a.c -S,编译后会自动生成汇编文件a.asm。

② C语言怎样转换成汇编语言

keilc里面,如果单片机c语言编译完成后,可以进入debug仿真模式,那么打开disassembly
windows窗口,就可以看到c及对应的汇编。

③ 单片机中,怎样把C语言转化为汇编语言

单片机是没这个能力将C语言转换为汇编语言的,它只知道执行1或0。
汇编语言和C语言都是我们用来跟单片机沟通的语言
只有用软件来编译为单片机可执行的1,0文件
单片机才能运行。
所以要c语言编译为汇编语言是我们所用到的编译器做的事情,比如说
keil
iar
gcc
等的编译器他们都支持C语言编译为汇编语言
并可生成单片机可执行文件。不同的单片机所用的编译器或许不同

④ 如何将c语言程序转成汇编语言程序。

如果是VC则在编译器命令行参数再加 /FA 则会生成汇编代码。如果参数是 /FAs 则会同时将源码和汇编代码。
/FA 程序集代码;.asm
/FAc 机器码和程序集代码;.cod
/FAs 源代码和程序集代码;.asm
/FAcs 机器码、源代码和程序集码;.cod

/Fa的用法

/Fa 为编译中的每个源代码文件创建一个源文件.asm。
/Fa文件名 将文件名.asm 放到当前目录中。仅在编译单个源代码文件时有效。
/Fa文件名.扩展名 将文件名.扩展名放到当前目录中。仅在编译单个源代码文件时有效。
/Fa目录\ 为编译中的每个源代码文件创建一个源文件.asm,并将其放到指定目录中。请注意必须有后缀反斜杠。只允许使用当前磁盘上的路径。
/Fa目录\文件名 将文件名.asm 放到指定目录中。仅在编译单个源代码文件时有效。
/Fa目录\文件名.扩展名 将文件名.扩展名放到指定目录中。仅在编译单个源代码文件时有效。

如果你是用gcc 或 g++编译器,如dev c++则加入命令行参数 -S 即可

⑤ 有谁知道怎么可以把c语言转换成汇编语言程序的

写好c以后,使用编译器可以把c变成汇编。具体设置或者操作的话,需要看你使用的是哪个c环境了。
gcc -S

⑥ C语言怎么转换汇编程

在单片机中,C语言转换成汇编语言有一个小窍门,这要借助于KEILC这个编译软件,步骤如下:

1、运行KEIL,建立工程,导入C语言。

⑦ c语言转换成汇编语言

如下即可:

ORG 0000H
LJMP START
ORG 0003H
LJMP X0_INT
ORG 0013H
LJMP X1_INT
ORG 0030H
START:
SETB IT0
SETB IT1
SETB EX0
SETB EX1
SETB EA
;----------------------
MOV A, #0FEH
LOOP:
MOV P1, A
CALL DELAY
RL A
SJMP LOOP
;----------------------
X0_INT:
PUSH ACC
PUSH PSW
SETB RS0
MOV A, #0F0H
MOV R2, #6
X0_1:
MOV P1, A
CALL DELAY
CPL A
DJNZ R2, X0_1
POP PSW
POP ACC
RETI
;----------------------
X1_INT:
PUSH ACC
PUSH PSW
SETB RS1
MOV A, #0AAH
MOV R2, #6
X1_1:
MOV P1, A
CALL DELAY
CPL A
DJNZ R2, X1_1
POP PSW
POP ACC
RETI
;----------------------
DELAY:
MOV R5, #3
DJNZ R7, $
DJNZ R6, $ - 2
DJNZ R5, $ - 4
RET
;----------------------
END

⑧ 如何将c语言变成汇编

c语言
在编译连接生成可运行文件后就已经成了
二进制代码
。所以,你要它再次翻译成
汇编语言
的话就需要
反汇编
。你用debug加载你需要查看的
程序
,再用u
命令
就可以看到他的反汇编
代码
了。

⑨ 如何将c语言变成汇编

理论上来说C语言改成汇编是完全可以的,当然实际上还是有一定难度。

1、完全手工根据C语言的流程和目的,改编成汇编语言,这样做工作量很大

2、利用仿真软件,在仿真环境下,是有相应的汇编代码的,这样做工作量相对较小,但可读性较差。

⑩ 实践,C语言是怎么变成汇编的

c语言未必会经历汇编语言这一环节,准确的说,c语言经历编译器(必须),链接器(某种程度上非必须)的处理,成为可执行代码(一般是二进制代码)。
而汇编也许是目前多数编译器提供的中间环节(vc,vs都提供在调试运行下使用反汇编的功能),因为对于汇编语言来说,进一步编译成机器语言的难度很低,只需查找有限的汇编指令对应的编码,如MOV,ADD等,具体编码与机器有关。
而你说的c语言变成汇编这一过程,正是编译器的核心工作,也是最为困难的。需要对你的程序(本质上是一个超长的字符串)做分割,词法分析,语法分析,最后翻译成汇编。

阅读全文

与c语言函数是怎么编译成汇编的相关的资料

热点内容
微信朋友圈照片压缩了 浏览:217
台湾鸭子电影三部曲 浏览:859
android设置前景色 浏览:191
专门百度小程序开发源码 浏览:234
安卓手机为什么微信不能更新到最新版本 浏览:817
pdf赋税原理 浏览:260
韩国电影合集(3个小时) 浏览:88
程序员应该吃什么补脑子补身体 浏览:336
韩国床上在线观看 浏览:593
最牛逼的网址直接看去看不用下载免费看 浏览:96
c中预处理命令教学 浏览:54
优盘可以拉文件夹吗 浏览:826
pythonindexerror 浏览:907
linux终端配置 浏览:340
程序员三十岁魔咒 浏览:291
web服务器需要安装什么 浏览:262
只狼登录服务器有什么用 浏览:235
我是大哥大剧场版凉子的演员 浏览:519
怎么更改服务器分区表gpt 浏览:147
日本倡影 浏览:625