① 如何將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語言變成匯編這一過程,正是編譯器的核心工作,也是最為困難的。需要對你的程序(本質上是一個超長的字元串)做分割,詞法分析,語法分析,最後翻譯成匯編。