【问题标题】:How to compile DOS programs using MASM or FASM如何使用 MASM 或 FASM 编译 DOS 程序
【发布时间】:2011-12-05 17:07:09
【问题描述】:

我想用 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呢?

【问题讨论】:

标签: compilation assembly masm tasm fasm


【解决方案1】:

中断只能在 16 位版本的 Windows 中使用。这些 int 21h 调用必须替换为等效的 Win32 函数调用。变量 ent 在哪里定义?如果要使用 Visual Studio 进行编译,则将自定义构建规则设置为 MASM,转到链接器设置并将子系统设置为 windows,并将入口点设置为 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

【讨论】:

    猜你喜欢
    • 2010-10-13
    • 2013-12-07
    • 2012-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多