windows - 在 win xp 上组装 COM 可执行文件

标签 windows masm32

有没有办法将 x86 代码组装成 COM 可执行文件?我使用 masm32 作为我的汇编程序。在汇编/链接命令行上找不到足够的信息,所以我总是以错误告终...

这是一个简单的程序和我得到的错误:

有什么想法吗?向其他汇编器提供更好文档的建议也很好......

代码:

  .model tiny
  .code

  ORG 100H
HOST:
  mov ah, 9
  mov dx, OFFSET HI
  int 21H

  mov ax, 4C00H
  int 21H

HI DB 'Hi$'

  END HOST

用于汇编和错误的命令:

D:>ml /AT test.s Microsoft (R) Macro Assembler Version 6.14.8444 Copyright (C) Microsoft Corp 1981-1997. All rights reserved.

Assembling: test.s Microsoft (R) Incremental Linker Version 5.12.8078 Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

/z2 "host.obj" /t "test.com" NUL LINK : warning LNK4044: unrecognized option "z2"; ignored LINK : warning LNK4044: unrecognized option "t"; ignored test.obj : warning LNK4033: converting object format from OMF to COFF test.obj : fatal error LNK1190: invalid fixup found, type 0x0001

最佳答案

将汇编代码作为内联汇编包含到 C 文件中,然后使用标准 C 编译器将其编译为 COM。

关于windows - 在 win xp 上组装 COM 可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4916426/

相关文章:

assembly - MASM32 中的鼠标选择

assembly - x86 程序集 : movsd instruction issue

汇编 - .data、.code 和寄存器...?

windows - 在哪里可以找到文件类型验证程序?

linux - 如何从本地安装的 Ubuntu 访问我的 WSL2 文件?

windows - Windows 中的 Bash 启动脚本

windows - 所有 Cygwin 应用程序的启动速度都非常慢

.net - .NET Framework 对 Windows API 的依赖程度如何?

assembly - 8086 中的除法 MASM 中的组装

assembly - 在宏汇编器中连接