The MASM Forum Archive 2004 to 2012

General Forums => The Campus => Topic started by: pjoseph24 on October 23, 2005, 12:42:37 AM

Title: what does this mean?
Post by: pjoseph24 on October 23, 2005, 12:42:37 AM
Assembling: C:\masm32\color.asm
C:\masm32\color.asm(16) : error A2004: symbol type conflict
C:\masm32\color.asm(32) : error A2004: symbol type conflict
C:\masm32\color.asm(45) : warning A4023: with /coff switch, leading underscore required for start address : MAIN
Volume in drive C is HP_PAVILION
Volume Serial Number is 5086-B523

Directory of C:\masm32

10/22/2005  08:34 PM               758 color.asm
               1 File(s)            758 bytes
               0 Dir(s)  105,973,645,312 bytes free
Title: Re: what does this mean?
Post by: hutch-- on October 23, 2005, 12:46:37 AM
Where did you get color.asm. I don't think its part of the masm32 example code.
Title: Re: what does this mean?
Post by: pjoseph24 on October 23, 2005, 12:53:29 AM
it was a lab we did in school but i am sure it is in 16bit not 32 I am not sure how to link the two together to be able to write in 16bit in masm32
Title: Re: what does this mean?
Post by: MichaelW on October 27, 2005, 06:53:21 AM
If the source has a model directive followed by anything other than flat, it is 16-bit code. You can assemble 16-bit code with MASM, but you will need a 16-bit linker to create the executable.

See:

http://www.masmforum.com/simple/index.php?topic=2379.0

Or for a tiny model:

http://www.masmforum.com/simple/index.php?topic=2500.0

Title: Re: what does this mean?
Post by: tenkey on October 27, 2005, 07:49:20 PM
You also want to remove the /coff option, as COFF does not handle 16-bit code (there's no way to handle segment values). With some versions of MASM, you may need to replace /coff with /omf.