導航:首頁 > 源碼編譯 > 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語言函數是怎麼編譯成匯編的相關的資料

熱點內容
編譯器怎麼調用構造函數的 瀏覽:95
高質量cpdf 瀏覽:821
福建電信代理伺服器雲主機 瀏覽:616
美圖看看pdf 瀏覽:432
編譯後報錯 瀏覽:291
網路設備怎麼加密 瀏覽:785
hbuilderx文件夾有哪些 瀏覽:102
空調壓縮機生產板塊 瀏覽:612
開源多媒體伺服器都有什麼 瀏覽:392
反編譯了別人的app會被發現嗎 瀏覽:918
上海光裕汽車壓縮機有限公司 瀏覽:333
連接ps4伺服器地址 瀏覽:136
新神魔大陸三星賬號是什麼伺服器 瀏覽:677
壓縮機lj100cy 瀏覽:556
王者系統怎麼轉回安卓系統 瀏覽:749
linux查看路由表命令 瀏覽:506
高手程序員使用什麼筆記本 瀏覽:440
ios壓縮圖片app 瀏覽:839
排隊論pdf 瀏覽:520
python調用無參函數 瀏覽:799