1. 程式人生 > >如何將C語言程式碼轉換為對應的彙編程式碼?

如何將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。