2009年4月13日 星期一

ASSEMBLY LANGUAGE

進度實在緩慢
最近好不容易把編譯器挑選好...
這才能開始步入動手做階段......

在《組合語言 第五版(ASSEMBLY LANGUAGE FOR INTEL-BASED COMPUTERS FIFTH EDITION)》
作者IRVINE應是大師級的準錯不了,
但書中敘述到只適合MASM8以上的學生使用
而Irvine網站上只述及MASM上的專案操作,不過MASM真的耗能
記憶體吃緊吶......

於是尋找新方向
MASM32
似乎是Kernel.dll的shell上什麼的我不清楚
能跑是能跑但要對書中examples都有的Irvine32函式庫include作修改
這就麻煩大了,保持這種方式連上戰場都不可能!

接著遍尋解決方法,皆不得要領
後在奇蹟下又獲兩種編譯器──WinAsm, Negatory Assembly Studio
試了幾天還沒研究個結果

就在今夜!
我開了Irvine給的MASM上的project檔案,
觀察project的properties
左翻右翻,終於被我找到關鍵點:(linker的地方)
user32.lib Irvine32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
但貼到WinAsm那邊時出現Irvine32.lib不能被開啟
詳細原因我不知道
但將之去掉改成
user32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
一切暢行無阻

注意:本人只在WinAsm成功,MASM32和Studio都仍是個謎。