如何將C語言程式碼轉換為對應的彙編程式碼?
阿新 • • 發佈:2019-02-01
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。