如何使用 MASM 或 FASM 编译 DOS 程序
我想使用 MASM 或 FASM 等汇编器编译简单的程序。
Ideal
model small
Stack 256
Dataseg
str1 db 'hello','$'
Codeseg
Startupcode
lea dx, [str1]
mov ah, 09h
int 21h
lea dx, [ent]
mov ah, 09h
int 21h
exitcode
END
这个源码是在我大学的 TASM 上编译的,但是如何使用 MASM 或 FASM 来编译呢?
I want to compile simple program using assemblers such as MASM or FASM.
Ideal
model small
Stack 256
Dataseg
str1 db 'hello','
This source is compiled on TASM in my college, but how to do it using MASM or FASM ?
Codeseg
Startupcode
lea dx, [str1]
mov ah, 09h
int 21h
lea dx, [ent]
mov ah, 09h
int 21h
exitcode
END
This source is compiled on TASM in my college, but how to do it using MASM or FASM ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
中断只能在 16 位版本的 Windows 中使用。这些 int 21h 调用必须替换为等效的 Win32 函数调用。另外变量 ent 是在哪里定义的?如果您想使用 Visual Studio 进行编译,则将自定义构建规则设置为 MASM,转到链接器设置并将子系统设置为 windows,并将入口点设置为 main。构建并享受。看
为 MASM32 设置 Visual Studio 2010编程。
这是相关的 MASM 代码清单:
Interrupts can only be used in 16 bit versions of Windows. Those int 21h calls must be replaced by the equivalent Win32 Function calls. Also where is the variable ent defined? If you want to compile with Visual studio then set the custom build rules to MASM, go to linker settings and set the sub-system to windows and the entry point to main. Build and enjoy. See
Setting Up Visual Studio 2010 For MASM32 Programming.
This is the relevant MASM code listing: