2

COM程序可以是32位的吗?

如何编译 COM 程序?我有 TLINK32 和 TASM32。

tasm32 \t alex_7.asm
pause
tlink32 alex_7.obj 
pause
td32 main.exe

我有以下错误:

Fatal: 16 bit segments not supported in module alex_7.asm

我有 DOSBOX,我正在运行 Windows 7 x64

当我尝试在 DOSBOX 中编译我的程序时,我得到了同样的结果

4

2 回答 2

3

不,.com 文件是小的(最大 64kb)DOS/16 位时代的可执行文件,具有分段内存模型。在 MASM 中,您将使用.MODEL TINY,ORG 100h并将所有内容放入代码段中。据我所知,没有 32 位 .com 文件。

于 2010-04-21T20:37:46.743 回答
0

COM 对象绝对可以是 32 位的,您遇到的问题是您在 64 位系统上使用 16 位代码。您只能在 64 位系统下运行 32 位和 64 位程序(但在大多数情况下您不能将它们混合在一起)。

于 2010-04-21T17:16:08.290 回答