如何使用MASM或FASM编译DOS程序

时间:2011-10-11 22:43:18

标签: compilation assembly masm tasm fasm

我想使用汇编程序(如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进行编写?

1 个答案:

答案 0 :(得分:0)

中断只能在16位版本的Windows中使用。必须用等效的Win32函数调用替换那些int 21h调用。变量ent在哪里定义?如果要使用Visual Studio进行编译,则将自定义构建规则设置为MASM,转到链接器设置并将子系统设置为窗口,将入口点设置为main。建立和享受。看到 Setting Up Visual Studio 2010 For MASM32 Programming

这是相关的MASM代码清单:

.386
.model small
.stack 256

.data
  str1 db 'hello','$'

.code
main:
  lea dx, [str1]
  mov ah, 09h
  int 21h

  lea dx, [ent]
  mov ah, 09h 
  int 21h
end main