[Question] ^_^ How can I make .com program?

Started by KAKA CHJ, April 07, 2007, 03:55:08 AM

Previous topic - Next topic

KAKA CHJ

I have two assembler package, one is masm 5.1, and the other one is masm 9.0

so all of my .asm file on my textbook is compiled & linked correctly,

there's a problem to link that .obj file by masm 9.0 linker.

it displays different error messages for every other cord in textbook.

no problem in compiling, just only in linking by masm 9.0.

following is one of the error message :

LINK : error LNK2001: unresolved external symbol _mainCRTStartup

if I set the linker option like this : link a.obj /entry:main
then it links with no errors but it doesn't work(run) correctly. the debug window pops up.

I'm studying on 16bit dos assembly programming, so, does it cause problem to study with masm32 9.0?
can't it make any .com files?

i have to study with masm 5.1?

anyone please help me ^_^

hutch--

The masm32 project is 32 bit only. If your course work is required in masm 5.1 then you should be using masm 5.1.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

MichaelW

KAKA CHJ,

The linker in the MASM32 package cannot link 16-bit programs. You need to use a 16-bit linker for this. To create a .COM file with the more recent 16-bit linkers you use the /tiny switch. To create a .COM file with MASM 5.1 you link the object module to produce a .EXE file, and then use EXE3BIN.EXE to produce the .COM file from the .EXE file. In either case, the object module must not contain segment references.

eschew obfuscation