如何使用 MASM32 构建 MSDOS 程序并在 DOSBox 中运行
下载MASM32和DOSBox for Windows 并安装它们。MASM32 应该在C:\masm32和 DOSBox 中,分别在%ProgramFiles^(x86)%\DOSBox-0.74中。%ProgramFiles%\DOSBox-0.74。
启动 MASM 快速编辑器 ( qeditor.exe
) 并加载menus.ini
.
向下滚动到
&Run Program,"{b}.exe"
[&Tools]
插入五行:
&Run Program,"{b}.exe"
-
Assemble 16-bit .asm to .obj,cmd /C\masm32\bin\ml.exe /c "{a}" & pause
Link 16-bit .obj to .exe,cmd /C\masm32\bin\link16.exe "{b}" ,,,,, & pause
Build 16-bit .asm to .exe,cmd /C\masm32\bin\ml.exe /Bl"C:\masm32\bin\link16.exe" "{a}" & pause
Run in DosBox,cmd /Cstart /D"%ProgramFiles(x86)%\DOSBox-0.74" DOSBox.exe "{b}.exe"
[&Tools]
最终你必须更改%ProgramFiles(x86)%
到%ProgramFiles%
- 安装 DOSBox 的位置。键入命令提示符SET
并查看分配给该环境变量的目录。保存文件并重新启动 MASM32 快速编辑器。现在,您在“项目”下最后有了三个新项目。
以 MASM 语法输入 MS-DOS 汇编程序:
.MODEL small
.STACK 1000h
.DATA
hello db "Hello world!", 13, 10, '$'
.CODE
main PROC
mov ax, @DATA ; Initialize DS
mov ds, ax
mov dx, OFFSET hello ; You can also write lea dx, hello
mov ah, 09h ; http://www.ctyme.com/intr/rb-2562.htm
int 21h
mov ax, 4C00h ; http://www.ctyme.com/intr/rb-2974.htm
int 21h
main ENDP
END main
并将其保存在8.3 名称下,例如hello.asm
.
单击Project/Build 16-bit .asm to .exe并按任意键关闭窗口。现在单击DosBox 中的 Project/Run。DOSBox 窗口将打开,程序将运行。DOSBox 窗口保持打开状态,因此您可以在命令提示符处启动程序,例如输入“hello.exe”。