c语言转化为汇编
A. 如何将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。
B. C语言转换成汇编语言
win-tc
可以将C代码编译为汇编代码。
在“运行”,“编译配置”里选取中编译目标为汇编文件。
另外,将其它语言编译为汇编代码不叫“
反汇编
”。
C. c语言转换为汇编语言
这应该是单片机上面的编程把,编译器加参数是可以直接输出汇编码的
D. keil怎样把C语言转换成单片机汇编语言
1、打开Keil,新建一个51工程,同时新建一个main.c文件,并加入到工程源代码当中。

E. C语言怎样转换成汇编语言
keilc里面,如果单片机c语言编译完成后,可以进入debug仿真模式,那么打开disassembly
windows窗口,就可以看到c及对应的汇编。
F. 怎么把c语言转换成汇编语言
理论上来说C语言改成汇编是完全可以的,当然实际上还是有一定难度。
1、完全手工根据C语言的流程和目的,改编成汇编语言,这样做工作量很大
2、利用仿真软件,在仿真环境下,是有相应的汇编代码的,这样做工作量相对较小,但可读性较差。

G. 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
H. 如何把一段C语言转换成汇编语言
1:    #define N 30
2:    #include<stdio.h>
3:    void main()
4:    {
00401010   push        ebp
00401011   mov         ebp,esp
00401013   sub         esp,6Ch
00401016   push        ebx
00401017   push        esi
00401018   push        edi
00401019   lea         edi,[ebp-6Ch]
0040101C   mov         ecx,1Bh
00401021   mov         eax,0CCCCCCCCh
00401026   rep stos    dword ptr [edi]
5:    struct student
6:    {
7:    int xuehao;
8:    char name[10];
9:    int age;
10:   int score[3];
11:
12:   }stu;
13:   int i, j, temp=0;
00401028   mov         dword ptr [ebp-2Ch],0
14:   for(i=0; i<N; i++)
0040102F   mov         dword ptr [ebp-24h],0
00401036   jmp         main+31h (00401041)
00401038   mov         eax,dword ptr [ebp-24h]
0040103B   add         eax,1
0040103E   mov         dword ptr [ebp-24h],eax
00401041   cmp         dword ptr [ebp-24h],1Eh
00401045   jge         main+0D4h (004010e4)
15:   {
16:   scanf("%d %s %d", &stu.xuehao, &stu.name, &stu.age);
0040104B   lea         ecx,[ebp-10h]
0040104E   push        ecx
0040104F   lea         edx,[ebp-1Ch]
00401052   push        edx
00401053   lea         eax,[ebp-20h]
00401056   push        eax
00401057   push        offset string "%d %s %d" (00420f94)
0040105C   call        scanf (0040d9e0)
00401061   add         esp,10h
17:   printf("%d %s %d\n", stu.xuehao, stu.name, stu.age);
00401064   mov         ecx,dword ptr [ebp-10h]
00401067   push        ecx
00401068   lea         edx,[ebp-1Ch]
0040106B   push        edx
0040106C   mov         eax,dword ptr [ebp-20h]
0040106F   push        eax
00401070   push        offset string "%d %s %d\n" (00420f88)
00401075   call        printf (00401190)
0040107A   add         esp,10h
18:   for(j =0; j<3; j++)
0040107D   mov         dword ptr [ebp-28h],0
00401084   jmp         main+7Fh (0040108f)
00401086   mov         ecx,dword ptr [ebp-28h]
00401089   add         ecx,1
0040108C   mov         dword ptr [ebp-28h],ecx
0040108F   cmp         dword ptr [ebp-28h],3
00401093   jge         main+0BEh (004010ce)
19:   {
20:
21:   scanf("%d", &stu.score[j]);
00401095   mov         edx,dword ptr [ebp-28h]
00401098   lea         eax,[ebp+edx*4-0Ch]
0040109C   push        eax
0040109D   push        offset string "%d" (0042001c)
004010A2   call        scanf (0040d9e0)
004010A7   add         esp,8
22:   printf("%d",stu.score[j]);
004010AA   mov         ecx,dword ptr [ebp-28h]
004010AD   mov         edx,dword ptr [ebp+ecx*4-0Ch]
004010B1   push        edx
004010B2   push        offset string "%d" (0042001c)
004010B7   call        printf (00401190)
004010BC   add         esp,8
23:   temp = temp + stu.score[j];
004010BF   mov         eax,dword ptr [ebp-28h]
004010C2   mov         ecx,dword ptr [ebp-2Ch]
004010C5   add         ecx,dword ptr [ebp+eax*4-0Ch]
004010C9   mov         dword ptr [ebp-2Ch],ecx
24:   }
004010CC   jmp         main+76h (00401086)
25:   printf("total score = %d\n", temp);
004010CE   mov         edx,dword ptr [ebp-2Ch]
004010D1   push        edx
004010D2   push        offset string "total score = %d\n" (00420f74)
004010D7   call        printf (00401190)
004010DC   add         esp,8
26:   }
004010DF   jmp         main+28h (00401038)
27:   }
004010E4   pop         edi
004010E5   pop         esi
004010E6   pop         ebx
004010E7   add         esp,6Ch
004010EA   cmp         ebp,esp
004010EC   call        __chkesp (00401210)
004010F1   mov         esp,ebp
004010F3   pop         ebp
004010F4   ret
我不晓得是不是这样,我不懂汇编....
I. C语言转汇编
1、完全手工根据C语言的流程和目的,改编成汇编语言,这样做工作量很大
2、利用仿真软件,在仿真环境下,是有相应的汇编代码的,这样做工作量相对较小,但可读性较差。
J. 单片机中,怎样把C语言转化为汇编语言
单片机是没这个能力将C语言转换为汇编语言的,它只知道执行1或0。
汇编语言和C语言都是我们用来跟单片机沟通的语言
只有用软件来编译为单片机可执行的1,0文件
单片机才能运行。
所以要c语言编译为汇编语言是我们所用到的编译器做的事情,比如说
keil 
iar 
gcc
等的编译器他们都支持C语言编译为汇编语言
并可生成单片机可执行文件。不同的单片机所用的编译器或许不同
