我想從我的C程序中調用匯編(特別是MIPS)代碼,並從彙編中調用C返回。
我已經決定在GNU GCC上作爲我的編譯器,(我也猜測我需要一個模擬器?)
我在x86 Win 7機器上。 有些東西對我來說很不清楚,這可以/應該如何解決。從C調用Mips
- 如果MIPS將使用帶有32個寄存器的加載存儲archi,並且C將繼續使用寄存器archi,因爲我在x86上?
- 現在我想調用mips程序集而不是x86程序集,可以/還可以使用asm()嗎?
- 如果MIPS使用比C更多的寄存器,我將能夠從我的C代碼訪問這些寄存器嗎?
任何人都可以幫我解決這個問題,也許通過指出我可以從哪裏學到這一點魔法?
感謝
免責聲明:我工作的程序自修改項目在學校的信用覈查,且該代碼將被用來作爲一個例子,但我沒有得到任何信用此代碼。
您是否已經選擇了編譯器?調用約定將會是編譯器特定的。 –
MIPS代碼有多複雜?它會調用系統調用嗎?如果不是,它的模擬器更容易編寫。你必須弄清楚仿真器和你的C代碼之間來回傳遞數據的艱難細節...... – nneonneo
我將使用GNU GCC作爲我的編譯器 MIPS只會從我的c程序 - 沒有系統調用。 –