怎么把c语言转换成汇编语言

Python016

怎么把c语言转换成汇编语言,第1张

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

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

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

1、如果汇编程序是可执行文件,比如exe文件,则可以使用system函数直接调用。比如下面的代码,用system()打开windows上的记事本程序。

#include <stdio.h>

#include <stdlib.h>

int main()

{

system("notepad.exe")

return 0

}

2、在C语言源码中,可以通过内联汇编来直接编写汇编程序代码。不同的编译器使用内联汇编的方法不同,vc/vs编译器中一般使用__asm关键字来使用内联汇编,gcc编译器一般使用asm关键字来使用内联汇编,以vc6.0为例,下面的代码通过使用内联汇编来计算1+1,并将结果保存到int型变量result中。

#include <stdio.h>

int main()

{

int result

_asm {

mov eax,1

mov ebx,1

add eax,ebx

mov result, eax

}

printf("1+1=%d\n", result)

return 0

}

如果你用TC 那么就是tcc -S -I(你的include文件夹) -L(你的lib文件夹) (你的文件)

例如,include在C:\tc\include lib在C:\tc\lib 要编译文件hello.c

tcc -S -IC:\tc\include -LC:\tc\lib hello.c会在当前目录下生成一个hello.asm文件直接打开即可

(注意!!!-S -I -L 全都是大写,区分大小写)

如果你用gcc 那么就是gcc -S (你的文件)

例如hello.c gcc -S hello.c

会在当前目录下生成一个hello.S文件,直接用记事本打开不好看,最好用word打开(windows下的gcc,如果是linux直接vi hello.S 或 cat hello.S 或 less hello.S即可)

(注意!!!-S 是大写,区分大小写)