We help IT Professionals succeed at work.

MASM 6.14 Problems...

CyrexCore2k
CyrexCore2k asked
on
2,598 Views
Last Modified: 2008-01-09
It's been awhile since I took my assembly class so maybe there's something I'm forgetting. I'm having trouble compiling one of my old projects. I'm 90% sure there's nothing wrong with the code although if necessary I will post it... (it's just really long) Anyway here's what happens.

I type ml rain.asm and I get the following message(s)

Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997. All Rights Reserved.

 Assembling: rain_new.asm
Microsoft (R) Incremental Linker Version 6.00.8168
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

/z2
"rain_new.obj"
"rain_new.exe"
NUL
LINK : warning LNK4044: unrecognized option "z2"; ignored
LINK : error : Segment reference in fixup record
rain_new.obj : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt

I read a little on this error but frankly I have no idea what it means. o.o Could anyone steer me in the right direction? I'd like to get this running again if I can.
Comment
Watch Question

CERTIFIED EXPERT

Author

Commented:
actually I typed

ml rain_new.asm

my bad.
Harisha M GEngineer
CERTIFIED EXPERT

Commented:
Hi, is the code too lengthy ? If so, zip it and post it in a webfolder..

http://www11.rapidupload.com/


---
Harish
CERTIFIED EXPERT

Author

Commented:
CERTIFIED EXPERT

Author

Commented:
Just some more information... not sure if it's helpful

ml /Zm /c rain_new.asm  <---- works fine
ml /Zm rain_new.asm <---- error like above
Harisha M GEngineer
CERTIFIED EXPERT

Commented:
Well, it gave the following errors:

rain.asm(115): error A2004: Redefinition of symbol
rain.asm(166): error A2004: Redefinition of symbol
rain.asm(197): error A2004: Redefinition of symbol
rain.asm(353): error A2004: Redefinition of symbol
rain.asm(7): error A2105: Expected: instruction or directive
rain.asm(8): error A2105: Expected: instruction or directive
rain.asm(9): error A2105: Expected: instruction or directive
rain.asm(10): error A2105: Expected: instruction or directive
rain.asm(11): error A2105: Expected: instruction or directive
rain.asm(12): error A2105: Expected: instruction or directive
rain.asm(13): error A2105: Expected: instruction or directive
rain.asm(15): error A2105: Expected: instruction or directive
rain.asm(16): error A2105: Expected: instruction or directive
rain.asm(17): error A2105: Expected: instruction or directive
rain.asm(18): error A2105: Expected: instruction or directive
rain.asm(19): error A2105: Expected: instruction or directive
rain.asm(38): error A2005: Symbol is multidefined: DRIPSLOOP
rain.asm(42): error A2026: Reference to multidefined symbol
rain.asm(46): error A2009: Symbol not defined: NEWDRIPFREQ
rain.asm(47): error A2026: Reference to multidefined symbol
rain.asm(49): error A2009: Symbol not defined: RAINHEAD
rain.asm(51): error A2005: Symbol is multidefined: NODRIP
rain.asm(55): error A2005: Symbol is multidefined: SKIPCOL
rain.asm(58): error A2026: Reference to multidefined symbol
rain.asm(84): error A2005: Symbol is multidefined: DRIPSLOOP
rain.asm(88): error A2026: Reference to multidefined symbol
rain.asm(91): error A2009: Symbol not defined: RAINHEAD
rain.asm(94): error A2009: Symbol not defined: RAINTAIL
rain.asm(96): error A2026: Reference to multidefined symbol
rain.asm(101): error A2009: Symbol not defined: MAXDRIPLEN
rain.asm(105): error A2009: Symbol not defined: TAILGROWFREQ
rain.asm(108): error A2009: Symbol not defined: RAINTAIL
rain.asm(109): error A2026: Reference to multidefined symbol
rain.asm(113): error A2005: Symbol is multidefined: CONTINUE
rain.asm(115): error A2005: Symbol is multidefined: SKIPCOL
rain.asm(118): error A2026: Reference to multidefined symbol
rain.asm(150): error A2026: Reference to multidefined symbol
rain.asm(153): error A2009: Symbol not defined: RAINHEAD
rain.asm(156): error A2009: Symbol not defined: RAINTAIL
rain.asm(158): error A2009: Symbol not defined: RAINHEAD
rain.asm(159): error A2026: Reference to multidefined symbol
rain.asm(164): error A2026: Reference to multidefined symbol
rain.asm(166): error A2005: Symbol is multidefined: CONTINUE
rain.asm(171): error A2009: Symbol not defined: DRIPMOVEFREQ
rain.asm(172): error A2026: Reference to multidefined symbol
rain.asm(177): error A2009: Symbol not defined: RAINTAIL
rain.asm(179): error A2026: Reference to multidefined symbol
rain.asm(181): error A2009: Symbol not defined: RAINTAIL
rain.asm(182): error A2026: Reference to multidefined symbol
rain.asm(187): error A2026: Reference to multidefined symbol
rain.asm(190): error A2009: Symbol not defined: RAINTAIL
rain.asm(192): error A2026: Reference to multidefined symbol
rain.asm(195): error A2009: Symbol not defined: RAINTAIL
rain.asm(197): error A2005: Symbol is multidefined: NODRIP
rain.asm(255): error A2009: Symbol not defined: DELAYAMOUNT
rain.asm(270): error A2009: Symbol not defined: KBDCHAR
rain.asm(271): error A2026: Reference to multidefined symbol
rain.asm(275): error A2009: Symbol not defined: OX
rain.asm(276): error A2026: Reference to multidefined symbol
rain.asm(277): error A2009: Symbol not defined: OY
rain.asm(278): error A2026: Reference to multidefined symbol
rain.asm(280): error A2026: Reference to multidefined symbol
rain.asm(287): error A2005: Symbol is multidefined: DONE
rain.asm(288): error A2009: Symbol not defined: ENDPROGRAM
rain.asm(319): error A2009: Symbol not defined: SEED
rain.asm(321): error A2009: Symbol not defined: SEED
rain.asm(337): error A2009: Symbol not defined: KBDCHAR
rain.asm(341): error A2009: Symbol not defined: OX
rain.asm(342): error A2009: Symbol not defined: OY
rain.asm(349): error A2009: Symbol not defined: ENDPROGRAM
rain.asm(351): error A2026: Reference to multidefined symbol
rain.asm(353): error A2005: Symbol is multidefined: DONE

  50284 + 432964 Bytes symbol space free

      0 Warning Errors
     73 Severe  Errors
Hi CyrexCore2k,

I think ml will be using an environment variable to locate the linker. It will then invoke the linker with its own, made up command line.

Sadly I dont know which environment variable it needs setting. Have you any documentation on masm that may help?

Paul
CERTIFIED EXPERT

Author

Commented:
Ummm you're using a different version or something

rain.asm(7): error A2105: Expected: instruction or directive
rain.asm(8): error A2105: Expected: instruction or directive
rain.asm(9): error A2105: Expected: instruction or directive
rain.asm(10): error A2105: Expected: instruction or directive
rain.asm(11): error A2105: Expected: instruction or directive
rain.asm(12): error A2105: Expected: instruction or directive
rain.asm(13): error A2105: Expected: instruction or directive
rain.asm(15): error A2105: Expected: instruction or directive
rain.asm(16): error A2105: Expected: instruction or directive
rain.asm(17): error A2105: Expected: instruction or directive
rain.asm(18): error A2105: Expected: instruction or directive
rain.asm(19): error A2105: Expected: instruction or directive

If you look at those lines there's nothing wrong with the syntax there so I'm not sure what your assembler is talking about.
This one is on us!
(Get your first solution completely free - no credit card required)
UNLOCK SOLUTION
Harisha M GEngineer
CERTIFIED EXPERT

Commented:
CyrexCore2k, yes.. sorry.. I had used 5.0 version :)
CERTIFIED EXPERT

Author

Commented:
Paul,

Yeah thats what I was thinking too since I do have VS 6.0 and VS .Net installed on this system as well... maybe it's trying to use one of their linkers.

I've looked around the files in the zip that I installed masm from but I'm really not sure where to look x_x

To my knowledge MS has released masm 6 as a free product so here's the zip if you feel like taking a look

http://drop.netortech.com/masm611.zip
CERTIFIED EXPERT

Author

Commented:
YESSSS :D

Okay so I'm still not sure where that environment variable is but I just went ahead and ran ML with the compile only switch and then went directly to the directory with MASMs linker and told it to link the compiled object file and it works :)

I don't feel like trying to figure out all this path stuff so I'll probably just write a batch file to do that for me.

Thanks Paul!
Hi CyrexCore2k,

Here's a batch file that came with the old MSVC 3.1 called MSVCVARS.BAT.

@echo off
set TOOLROOTDIR=C:\MSVC
set PATH=C:\MSVC\BIN;%PATH%
set INCLUDE=C:\MSVC\INCLUDE;%INCLUDE%
set LIB=C:\MSVC\LIB;%LIB%

You will probably have to tinker with it. It might be of help.

Paul

Gain unlimited access to on-demand training courses with an Experts Exchange subscription.

Get Access
Why Experts Exchange?

Experts Exchange always has the answer, or at the least points me in the correct direction! It is like having another employee that is extremely experienced.

Jim Murphy
Programmer at Smart IT Solutions

When asked, what has been your best career decision?

Deciding to stick with EE.

Mohamed Asif
Technical Department Head

Being involved with EE helped me to grow personally and professionally.

Carl Webster
CTP, Sr Infrastructure Consultant
Empower Your Career
Did You Know?

We've partnered with two important charities to provide clean water and computer science education to those who need it most. READ MORE

Ask ANY Question

Connect with Certified Experts to gain insight and support on specific technology challenges including:

  • Troubleshooting
  • Research
  • Professional Opinions
Unlock the solution to this question.
Join our community and discover your potential

Experts Exchange is the only place where you can interact directly with leading experts in the technology field. Become a member today and access the collective knowledge of thousands of technology experts.

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.