手動編譯連接彙編程序遇到的問題

最近剛剛在學彙編,剛剛開始學寫第一個程序,編譯連接出現了好多問題。。。

在此總結一下:

法一:

64位的需要下載一個dosbox,下載masm 5.0或者masm615 (加入我把1.asm,link.exe masm.exe ml.exe放在d盤的try文件下)

1.進入dosbox,輸入 mount c d:\try\

2. c:

3.masm 1.asm

在進行到這步時,我出現了

c:\try>masm 1.asm
This program requires DOSXNT.EXE to be in you path
This program requires DOSXNT.EXE to be in you path

run-time error R6000
- stack over low

run-time error R6001
-null pointer assignment 
這樣的錯誤,弄了好久。

原來我用的是masm615的,後來我下了個masm5.0的,就可以了

總結:要是這個版本的masm不行,那就換一個版本試試!!

4.下了maxm5.0,成功生成了1.obj

5.link 1.obj

6.生成了1.exe

7.運行程序   輸入1.exe

上面很自然地完成了


法二:

但是看視頻,我們可以用ml.exe直接生成1.obj,1.exe

步驟:

1,2步與上面一樣

3.直接輸入ml 1.asm

但是我還是遇到了問題

出現了

This program cannot be run in DOS mode

然後我查了一下,說把1.asm拖到ml.exe就可以直接生成1.obj跟1.exe文件,但是不知道爲什麼,我的只能生成1.obj,但是比起前面來少了一步了。


看起來很容易的事情,跟着做就好了,但還是會因爲環境等問題遇到這樣那樣的問題,折騰一下,總會有收穫!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章