天天看點

CAD1 搭建彙編語言環境 win10+dosbox+masm一、dosbox+masm二、編輯和調試程式參考

文章目錄

  • 一、dosbox+masm
  • 二、編輯和調試程式
    • 編輯
    • 彙編
    • 連結
    • 調試
    • Hello World執行個體
  • 參考

一、dosbox+masm

  1. 下載下傳dosbox安裝程式并根據提示安裝
  2. 下載下傳masm檔案,檔案夾中要包含這四個檔案:DEBUG.COM, EDIT.COM, LINK.EXE, MASM.EXE

    (以上内容由課程提供壓縮包,直接解壓即可)

  3. 建立工作目錄:這裡是直接在E盤下建立dos檔案夾,裡面有兩個子檔案夾:masm(放置上述masm檔案)和asm(儲存彙程式設計式)
  4. 配置DOSBOX。建立一個用于儲存彙編工具和彙編檔案的目錄dos

    打開DOSBOX安裝根目錄,打開dosbox.conf檔案(用記事本打開即可),找到autoexec節點如圖:

    CAD1 搭建彙編語言環境 win10+dosbox+masm一、dosbox+masm二、編輯和調試程式參考
    添加以下内容,這樣以後就不用每次打開DOSBOX都重新配置一遍了。
MOUNT C E:\dos		# 将目錄 E:\dos 挂載為DOSBOX下的C
set PATH=$PATH$; C:\masm 	# 将映射後的C:\masm寫入環境變量PATH,進而可以調用E:\dos\masm32的編譯工具
C:	#進入DOSBOX系統的C槽
           
  1. 打開dosbox,輸入dir,檢視有沒有DEBUG, MASM等檔案。如果有,就已經完成Win10系統下的彙編環境配置了。(圖中有一處錯誤忘了改,set PATH對應的是C:\masm)
    CAD1 搭建彙編語言環境 win10+dosbox+masm一、dosbox+masm二、編輯和調試程式參考
  2. 修改dosbox視窗大小。

    可以通過alt+Enter進入全屏模式。

    修改配置設定率:配置檔案dosbox.conf

    把原始代碼:

windowresolution=original
output=surface
           

修改為:

windowsresolution=1280x800
output=opengl
           

呃,好像不行呢。前後沒有變化。

暫且這麼用着,之後如果有需要再去改它。

二、編輯和調試程式

編輯

三種方法:

  1. 在本機E:\dos\asm中直接用文本檔案建立新檔案,修改檔案擴充名為.asm并儲存即可。
  2. 運作DOSBOX,在指令符C:\asm>下輸入指令: EDIT test.asm,啟動EDIT.EXE進入代碼編輯狀态。EDIT狀态下光标會消失,調用任務管理器alt+ctrl+del即可釋放光标。
  3. 在VS Code中編輯。安裝彙編語言插件MASM/TASM,打開E:\dos\asm檔案夾,建立檔案時直接建立字尾為asm的檔案即可。

    檔案名都需使用英文。

彙編

指令行:masm a.asm

目标:生成目标檔案(.obj檔案)

檢查産生的ERROR并修改

産生的a.obj檔案是中間結果

連結

指令行:link *.obj

目标:生成可執行檔案(.exe檔案)

檢查産生的錯誤,并重新彙編和連結

調試

指令行:debug a.exe

調試指令:

-u: 反彙編

-g: 設定斷點

-t: 跟蹤執行

-r: 顯示寄存器内容

-q: 退出

每次執行顯示寄存器内容和下次要執行的指令

Hello World執行個體

編輯

hello.asm

DSEG SEGMENT
MESS DB 'HELLO WORLD!', 0DH, 0AH, 24H
DSEG ENDS

SSEG SEGMENT PARA STACK
    DW 256 DUP(?)
SSEG ENDS

CSEG SEGMENT
    ASSUME CS:CSEG, DS:DSEG
BEGIN:
    MOV AX, DSEG
    MOV DS, AX
    MOV DX, OFFSET MESS
    MOV AH, 9

    INT 21H
    MOV AH, 4CH
    INT 21H
CSEG ENDS

END BEGIN
           
masm hello	# 編譯
link hello	# 連結
hello		# 執行
           

參考

dosbox+masm

繼續閱讀