若沒有下載的小夥伴可以參考這篇文章下載,裏面有很多設置也非常不錯
Windows 64 位系統下安裝配置 DOSBox 及 debug.exe
首先介紹倆種方法來編譯源程序
方法一:
step1:編輯源程序
1、打開DosBox
2、運行edit
在命令行輸入
edit
3、在Edit中編譯程序,如下圖所示(隨便舉了一個例子)
3.1 File->save as
3.2 輸入你要保存的文件名,以asm後綴結尾,之後點擊OK
3.3 點擊File->exit來退出edit
4、再進行完上述對源程序的編輯之後,會得到一個源程序文件D:\software\DOSBox\MASM\hui.asm
接下來進行編譯源程序
step2:編譯
1、進入DOS,運行masm.exe,會出現一些版本信息
上面我命名爲hui,擇需要輸入hui即可,如果不是以.asm爲擴展名的話,擇需要輸入全名,比如“hui.txt"
2、輸入要編譯的源程序文件名後,按enter鍵
注:若我們當前已經再源文件目錄下,直接輸入文件名就行,要是是再其他路徑中,則要輸入完整路徑
執行完後生成hui.obj文件
這個列表文件不生成,直接Enter
同樣先不用生成教程引用文件
step3:連接
對源程序進行編譯得到目標文件後,我們需要對目標文件進行連接,從而可以得到可執行文件,接下來我們要將.obj文件連接爲.exe文件
1、運行link後,直接輸入文件名
2、默認可執行文件名(當然在這裏也可以指定文件名或者路徑),按enter
3、提示生成映像文件,這裏不生成,按enter
4、這裏提示輸入庫文件名,若調用子程序則要輸入庫文件名,這裏沒有調用,直接enter
注:這裏有一個警告:沒有棧段,先不用管
偷懶方法!以簡化方式進行編譯和連接
masm後面要加上被編譯的源程序文件的路徑,文件名,再加上分號,此時生成hui.obj文件
link後面要加上被連接的源程序文件的路徑,文件名,再加上分號,此時生成hui.exe文件
方法二
新建一個.txt文件,在裏面進行編碼,相當於上面的edit步驟
編碼完成後進行保存,並修改後綴名爲.asm,注意文件應該在MASM路徑下,其餘步驟和方法一 一樣。
EXE文件的執行
- 在DOS中直接執行hui.exe時,是正在運行的command,將hui.exe中的程序加載入內存
- commond設置CPU的CS:IP指向程序的第一條指令,從而使程序得以運行
- 運行結束後,返回到commond中,CPU將繼續運行commond
程序執行過程的跟蹤,以hui.exe爲例
1、使用debug將程序載入內存
2、使用R命令來查看各個寄存器的設置情況(關於debug命令,參考這篇博客)
3、使用U命令查看其他指令
4、現在開始跟蹤,使用T命令進行單步執行每一條指令
5、到了int 21 用P 命令執行
6、使用q命令退出debug,回到commond中