C 語言的函數呼叫如何轉為組合語言
高等 C 語言簡介字串指標與陣列函數結構物件導向記憶體檔案錯誤處理巨集處理C 與組合語言資料結構動態字串動態陣列鏈結串列雜湊表開發環境MakeCygwinMinGWDevC++wxDevC++編譯器gcc 編譯器TinyCC 編譯器LCC 編譯器應用主題CGI 程式GNU 程式視窗程式影像處理練習題訊息相關網站參考文獻最新修改簡體版English |
C 語言的函數呼叫如何轉換為組合語言呢? 答案是利用堆疊,但是卻不是用 PUSH,而是直接寫入參數到相對於堆疊指標的某個位址。 請看下列範例! 範例:ccall.cint g(int x, int a) { return x+a; } int f(char *s, int i, char c) { g(i, 3); return 0; } int main() { int ret = f("abc", 1, 'x'); return 1; } 範例:ccall.s指令:gcc -S ccall.c -o ccall.s
|
page revision: 2, last edited: 29 Jul 2011 08:14
Post preview:
Close preview