如何在XP SP3中使用MASM32构建MS-DOS程序



我是汇编的新手。我在Win XP SP3上使用MASM32。每当我尝试组装代码时,我都会收到警告。

.model small
.stack 100h
.code
main proc
mov ah,1
int 21h
mov bl,al
mov ah,2
mov dl,bl
int 21h
mov ah,4ch
int 21h
main endp
end main

组装ASM文件

c: masm32 coa.asm(14):警告a4023:使用/coff开关,开始地址所需的领先地下标记:main
驱动器中的体积C没有标签。
音量序列号为A868-C4EC
...

请告诉该怎么办:(谢谢

您想构建一个16位MS-DOS程序(.model smallint 21h)作为32位Windows程序。MASM能够产生MS-DOS对象文件,但默认链接器不会链接。自从您单击Quick Editor(Qedit.exe)中的"组装ASM文件"以来,"警告"(实际上是错误)来自MASM。

MASM32 SDK带有16位链接器(link16.exe)。告诉ml.exe使用该链接器:

ml /Bl link16.exe; coa.asm

最终您必须写完整的路径,例如C:masm32binlink16.exe

您可以将新菜单点添加到MASM32快速编辑器中以构建MS-DOS程序。在文本编辑器中打开menus.ini(您可以使用MASM32快速编辑器qeditor.exe)。

向下滚动至

&Run Program,"{b}.exe"
[&Tools]

插入四行:

&Run Program,"{b}.exe"
-
Assemble 16-bit .asm to .obj,cmd /Cmasm32binml.exe /c "{a}" & pause
Link 16-bit .obj to .exe,cmd /Cmasm32binlink16.exe "{b}" ,,,,, & pause
Build 16-bit .asm to .exe,cmd /Cmasm32binml.exe /Bl"C:masm32binlink16.exe" "{a}" & pause
[&Tools]

保存文件并重新启动MASM32快速编辑器。

现在您在"项目"结束时有"项目"下的三个新项目。

最新更新