The MASM Forum Archive 2004 to 2012

General Forums => The Workshop => Topic started by: ravi on April 14, 2005, 06:27:17 PM

Title: TO HUTCH
Post by: ravi on April 14, 2005, 06:27:17 PM
Hello  Hutch (THe ADMIN )    ,
i have a doubt regarding  your one reply dated 28 Dec 2004  to  Suma

QuoteMASM comes with nothing at all so it is impossible by itself to build a working EXE or DLL file by itself. What it means is you must use some runtime functions and with MASM you have the choice.


I think u r talking abt the one from MICROSOFT ,if not, Plz Clarify my doubt.

link to the topic is  http://www.masmforum.com/simple/index.php?topic=213.msg1146#msg1146

Ravi 
Title: Re: TO HUTCH
Post by: hutch-- on April 15, 2005, 12:22:32 AM
To clarify your doubts, I would need to know what they are.

Quote
I think u r talking abt the one from MICROSOFT

There is only one source for MASM and that IS Microsoft.

MASM comes with NOTHING in terms of runtime libraries and it does not have ANY built in run time library to perform that type of action. At its bare bones, an assembler "assembles" mnemonics and produces OBJ files.
Title: Re: TO HUTCH
Post by: pbrennick on April 15, 2005, 01:22:58 AM
Hi All,
There is no question that Hutch is correct here, Microsoft is who supplies the most important tool we need.

Two things:
1:  No runtime libraries (except for DLLs, of course), well I would not have it any way.  Who wants to attach a 2 meg runtime module to every executable?  Well, you know the answer to that one.

2:  Hutch does not give himself any credit for all the selfless devotion and efforts he has expended to make this thing work as well as it does.  Well, kudos to you, Hutch, for who you are and all you do to help others.  I know that I am grateful for your efforts!

Paul
Title: Re: TO HUTCH
Post by: rags on April 15, 2005, 02:09:03 AM
Quote from: pbrennick on April 15, 2005, 01:22:58 AM
2: Hutch does not give himself any credit for all the selfless devotion and efforts he has expended to make this thing work as well as it does. Well, kudos to you, Hutch, for who you are and all you do to help others. I know that I am grateful for your efforts!

I second that Paul  :thumbu
Title: Re: TO HUTCH
Post by: ravi on April 15, 2005, 08:36:33 AM
QuoteMASM comes with NOTHING in terms of runtime libraries and it does not have ANY built in run time library to perform that type of action.

As i just want to understand your statement ->

QuoteMASM comes with nothing at all so it is impossible by itself to build a working EXE or DLL file by itself
[/glow]

The Assembler provided by Microsoft can't produce any exe ,dll and com files ,But MASM 32 can .B'coz  Steve has included runtime libraries in it. 
In short MASM stands for Microsoft Assembler . I have Steve's qeditor (MASM32).So is there any difference between the two ?
Title: Re: TO HUTCH
Post by: hutch-- on April 15, 2005, 08:57:08 AM
ravi,

You determine the copyright of ML.EXE by running it from the command line and as I have tried to connect before, ML.EXE is written by Microsoft. ML.EXE and MASM are old trademarks of Microsoft, there are no others that use that name for the obvious copyright reasons.

ML.EXE is an assembler and ALL and assembler will do by itself is produce object files from source code that contains mnemonics. It is up to the user to provide ANY runtime support required to create EXE, DLL, VXD, SYS files plus some of the old formats like dos COM files.

The MASM32 project among other things provides a runtime library so that you can produce EXE and DLL files with the 32 bit version of MASM.

The original posting you made reference to contrasted an assembler against a compiler that DOES come with at least some minimum runtime support and the point being made is that the assembler has NO RUNTIME SUPPORT built into it at all.
Title: Re: TO HUTCH
Post by: ravi on April 15, 2005, 06:07:23 PM
thanx !!! u cleared all my misinterpretations !!!
Title: Re: TO HUTCH
Post by: thomasantony on April 22, 2005, 10:27:26 AM
Hi,
  Late reply :boohoo:
BTW, I think MASM is Macro Assembler and not Microsoft Assembler. Maybe it is both :bdg

Thomas :U
Title: Re: TO HUTCH
Post by: P1 on April 22, 2005, 01:57:25 PM
M$ MASM is quite capable of making dll's & exe's all by itself!!
What it can not do is build those dll's & exe's, that have dependencies for which it does not have support files for.  That's is where MASM32 package comes through in shining colors!!

Regards,  P1  :8)
Title: Re: TO HUTCH
Post by: AeroASM on April 22, 2005, 08:37:48 PM
How exactly do you make an exe with just MASM, no linker?
Title: Re: TO HUTCH
Post by: hutch-- on April 23, 2005, 05:29:58 AM
You don't, ML produces OBJ files only, you need a linker.
Title: Re: TO HUTCH
Post by: AeroASM on April 23, 2005, 06:27:21 AM
It was a rhetorical question to point out P1's error
Title: Re: TO HUTCH
Post by: Vortex on April 23, 2005, 08:45:47 AM
Quote from: AeroASM on April 22, 2005, 08:37:48 PM
How exactly do you make an exe with just MASM, no linker?

Fasm is able to produce directly executables.
Title: Re: TO HUTCH
Post by: thomasantony on April 23, 2005, 12:03:17 PM
Nasm too
Title: Re: TO HUTCH
Post by: P1 on April 25, 2005, 07:00:56 PM
I have a paid for, full M$ distribution of MASM, it's what's on the box.  When done installing the package, it is fully capable of generating .dll's and exe's.  With my package, I got CodeView too.

Some of us are old enough to know what we are talking about!   What ever happened to a benefit of a doubt, by asking what is meant! 

So your comment was out of context of the full spectrum of possibilities of what "MASM" could mean.

Regards,  P1  :8)
Title: Re: TO HUTCH
Post by: AeroASM on April 25, 2005, 08:54:34 PM
MASM means Only the actual assembler, like Linux means Only the actual operating system
Both MASM and Linux are often circulated in packages or distributions, and so the whole package is capable of doing things that the assembler/OS cannot.
You may say "Linux is capable of word processing"; this is wrong. Correction: "THis particular Linux distribution is capable of word processing" is correct.
In the same way "MASM is capable of producing exes" is wrong. "MASM" has an exact isomorphism with "ml.exe" and should not be confused with packages like MASM32 or the Microsoft one that you have.
Title: Re: TO HUTCH
Post by: hutch-- on April 25, 2005, 11:28:21 PM
With the box for the last commercially distributed version of MASM sitting on top of my monitor, It is titles "Microsoft MASM", subtitled "Assembly Language Development System".

MASM always stood for "MACRO assembler" but over the 24 years it has been around it has become synonymous with "Microsoft assembler". There used to be a MASM.EXE in the commercial package which in version 6.0 upwards was a compatibility driver for ML.EXE. Now from as early as MASM 5.1 masm has produced OBJECT modules and required a LINKER to build EXE and other end result files. The commercial versions of MASM ALWAYS came with a LINKER so it IS correct to say that MASM can build EXE files as it uses ML and LINK to do so.

P1 has the same advantage as I have here, he OWNS a copy of MASM and has all of the ancient toys that came with it.