Сборка: скомпилировать программу COM - PullRequest
2 голосов
/ 21 апреля 2010

Может ли программа 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

Ответы [ 2 ]

3 голосов
/ 22 апреля 2010

Нет, .com файлы - это небольшие (макс. 64 КБ) исполняемые файлы DOS / 16-битной эры с сегментированной моделью памяти.В MASM вы бы использовали .MODEL TINY, ORG 100h и поместили бы все в сегмент кода.Насколько я знаю, 32-битных .com файлов нет.

0 голосов
/ 21 апреля 2010

COM-объекты определенно могут быть 32-битными, проблема в том, что вы используете 16-битный код в 64-битной системе. Вы можете запускать только 32-битные и 64-битные программы в 64-битной системе (но вы не можете смешивать их вместе в большинстве сценариев).

...