1

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

4

1 回答 1

0

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

这是相关的 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
于 2011-10-18T00:42:14.920 回答