The MASM Forum Archive 2004 to 2012

General Forums => The Workshop => Topic started by: drhowarddrfine on June 08, 2006, 09:27:46 PM

Title: Re: MASM now on the Web!
Post by: drhowarddrfine on June 08, 2006, 09:27:46 PM
Aaaw, maaaaaaannnnnnn.
Title: Re: MASM now on the Web!
Post by: Ossa on June 08, 2006, 09:45:15 PM
Nice to have it there, thanks.

Even though I have never written commercial applications yet, the EULA does put me off - when coupled with the loss of functionality it seems that when I DO get to 64-bit, I won't be using MASM. GoAsm (or maybe FASM?) seems to be the way to go at the moment.

[edit] I'm somewhat surprised actually: I assume that MASM comes with other versions of VC++/or with the XP (or XP64) DDK, as otherwise hardware driver developers/games programmers cannot use it commercially. If so, I will just order the DDK and get it with a much nicer EULA. [/edit]

Ossa
Title: Re: MASM now on the Web!
Post by: PBrennick on June 08, 2006, 10:46:10 PM
For myself, I call this a victory.  Sure it is a baby step, but it 'is' a step in the right direction.

Paul
Title: Re: MASM now on the Web!
Post by: hutch-- on June 09, 2006, 01:04:41 AM
Kang Su,

Thanks for letting us know, I have no doubt that many people in the hobbyist / student area will find this an interesting download if they have the bandwidth to get a 340 meg download with the Visual C++ 2005 Express Edition.  :U
Title: Re: MASM now on the Web!
Post by: sinsi on June 09, 2006, 03:02:06 AM
It doesn't require VC Express (or any Visual Studio product) if you just unzip it.
Title: Re: MASM now on the Web!
Post by: hutch-- on June 09, 2006, 03:33:56 AM
I have just done a complete install of the VC express edition and by turning off the IDE option, the download drops to 94 meg which is a lot better than the 340 for the complete package. It installs NET 2.0 and you get the latest set of binaries with LINK, CL.EXE and RC.EXE. The ML update that Kang Su posted then installs in an instant and you have the most up to date set of Microsoft binaries for your personal projects.

NOTE that the VC Express edition of ML cannot be used for commercial development.

There are a couple of minor issues with the WINDOWS.INC include file in MASM32 that have to be dealt with and this will be done shortly.

This is the edition of ML.


Microsoft (R) Macro Assembler Version 8.00.50727.104
Copyright (C) Microsoft Corporation.  All rights reserved.

        ML [ /options ] filelist [ /link linkoptions ]

/AT Enable tiny model (.COM file)         /omf generate OMF format object file
/Bl<linker> Use alternate linker          /Sa Maximize source listing
/c Assemble without linking               /safeseh Assert all exception
/Cp Preserve case of user identifiers              handlers are declared
/Cu Map all identifiers to upper case     /Sf Generate first pass listing
/Cx Preserve case in publics, externs     /Sl<width> Set line width
/coff generate COFF format object file    /Sn Suppress symbol-table listing
/D<name>[=text] Define text macro         /Sp<length> Set page length
/EP Output preprocessed listing to stdout /Ss<string> Set subtitle
/F <hex> Set stack size (bytes)           /St<string> Set title
/Fe<file> Name executable                 /Sx List false conditionals
/Fl[file] Generate listing                /Ta<file> Assemble non-.ASM file
/Fm[file] Generate map                    /w Same as /W0 /WX
/Fo<file> Name object file                /WX Treat warnings as errors
/FPi Generate 80x87 emulator encoding     /W<number> Set warning level
/Fr[file] Generate limited browser info   /X Ignore INCLUDE environment path
/FR[file] Generate full browser info      /Zd Add line number debug info
/G<c|d|z> Use Pascal, C, or Stdcall calls /Zf Make all symbols public
/H<number> Set max external name length   /Zi Add symbolic debug info
/I<name> Add include path                 /Zm Enable MASM 5.10 compatibility
/link <linker options and libraries>      /Zp[n] Set structure alignment
/nologo Suppress copyright message        /Zs Perform syntax check only
/errorReport:<option> Report internal assembler errors to Microsoft
    none - do not send report
    prompt - prompt to immediately send report
    queue - at next admin logon, prompt to send report
    send - send report automatically
Title: Re: MASM now on the Web!
Post by: kanggatl on June 09, 2006, 03:51:58 AM
I'm glad to see some people downloading it. 

I should note that while I would have liked a non-restricted EULA, it was a choice between getting something out to address people whom I knew wanted it today (lots of students and hobbyists) or to wait longer (due to more paperwork, justification, all that not-so fun stuff) to address to address an audience that probably already has MASM.  As someone earlier pointed out, most commercial vendors will either use the DDK or have an MSDN subscription, and get MASM that way. 

Also, while MASM is for non-commercial use only, VC Express can be used for commercial development.  See Q4 on this page (the question of commercial use of the Express Editions comes up a LOT):  http://msdn.microsoft.com/vstudio/express/support/faq/

And yes, baby steps.  Gotta walk before you run... and sometimes when you start running you trip... but you clean your knees and try again.

Kang Su Gatlin
kanggatl AT microsoft DOT com
Title: Re: MASM now on the Web!
Post by: James Ladd on June 09, 2006, 04:24:47 AM
Kang Su Gatlin,

Thanks.

Please can you tell Tony Goodhew to spend more time here ?

Rgs, James.
Title: Re: MASM now on the Web!
Post by: hutch-- on June 09, 2006, 04:25:44 AM
Kang Su,

Thanks for putting in the effort of getting this download available. At some stage in the future it would be handy to have it licenced in the same way as the VC exspress edition as per Q4 on the link you have supplied but its no mad rush.

With the VC 2005 binaries, I have been impressed with the progress on CL.EXE. I have long played with VC6 CL and the later VC2003 toolkit version and both were good performers but the CL version in VC2005 is a better tool again and has a lot cleaner options in terms of optimisation. I am also impressed with the assembler code output as it is a lot tidier than the earlier versions.

Putting tools of this quality in the hands of younger developers is a good marketting strategy in that what a programmer learn with they can think in for many years later. My generation learnt of MSC6 (1990), the original SDK, MASM 6.0 and the PDS and QB versions of basic and this architecture sticks to you over many years so it is a sensible investment to make in younger programmers.

I am inclined to think that .NET is the future for the vast middle range of software development and this will impact on current markets like VB, VC/MFC, Delphi and the like but there will always be a market in what is now called "unmanaged code" using tools like CL and ML for OS components, performance critical code and similar applications.
Title: Re: MASM now on the Web!
Post by: daydreamer on June 09, 2006, 06:23:31 AM
nice
Title: Re: MASM now on the Web!
Post by: drizz on June 09, 2006, 10:25:34 AM
some bugs are still not fixed, might as well use v6.15....

.686
.model flat,c
option casemap:none
.code
proc0 proc c args:vararg
ret
proc0 endp
start proc c
LOCAL i:byte,j:word
;; this wont work
invoke proc0,i,j
;; this works
invoke proc0,sbyte ptr i,sword ptr j
ret
start endp
end start
Title: Re: MASM now on the Web!
Post by: GregL on June 09, 2006, 09:25:46 PM
This is a very nice gesture on the part of Kang Su Gatlin and Microsoft. It is much appreciated.  :U 

I must admit I too am a bit put off by the EULA, hopefully that will change in the future. In my opinion the EULA should match the VC++ 2005 Express Edition EULA.

Title: Re: MASM now on the Web!
Post by: Manos on June 10, 2006, 08:43:46 AM
Quote from: sinsi on June 09, 2006, 03:02:06 AM
It doesn't require VC Express (or any Visual Studio product) if you just unzip it.

I unziped this but I took setup.exe, vc_masm1.cab and vc_masm.msi.
If I run setup.exe or vc_masm.msi, I take a message that tell me
that VC Express required.

Manos.
Title: Re: MASM now on the Web!
Post by: japheth on June 10, 2006, 10:52:56 AM

> If I run setup.exe or vc_masm.msi, I take a message that tell me
> that VC Express required.

if you extract the stuff several times (use 7zip), you are getting:

- MASMSetup.exe
  - setup.exe
    - vc_masm1.cab
      - FL_ml_exe_____X86.3643236F_FC70_11D3_A536_0090278A1BB8
    - vc_masm.msi

the longish name can be renamed to ML.EXE, there is no difference to the binary installed by the regular setup.exe. Besides ML.EXE, you just need MSVCR80.DLL (view the compatibility thread)

Title: Re: MASM now on the Web!
Post by: japheth on June 10, 2006, 03:16:15 PM

> Feel free to write if you have any questions

Well, yes, I have one: are there any new features included in masm v8 compared to the previous version? I don't dare to add "features which justify a new main version number". The old and well-known bugs all have remained in the new version, new bugs may have been introduced, so I wonder if there is anything to benefit from.


Title: Re: MASM now on the Web!
Post by: Manos on June 10, 2006, 03:17:43 PM
Paul.

I had done already what you tell,but the problem was in
MSVCR80.DLL.
I downloaded the vcredist_x86.exe, I installed this
and the problem solved.
Now, ML8 runs OK.

Thank you,
Manos.
Title: Re: MASM now on the Web!
Post by: Casper on June 10, 2006, 10:19:52 PM
Nice.  :U
Title: Re: MASM now on the Web!
Post by: Mark Jones on June 11, 2006, 07:34:06 PM
As far as I understand it, there isn't much advantage to using a ML older than 6.15... because the newer versions bloat the executables slightly (for various reasons), and don't provide much additional functionality. (Does 8.0 still not contain the .if-.while directives?) And why upgrade to 8.0 and then have to deal with these DLL issues if there is little benefit? Could someone please elaborate the benefits of upgrading? Thanks.
Title: Re: MASM now on the Web!
Post by: GregL on June 11, 2006, 08:09:11 PM
Mark,

Good question. I am still kicking that one around myself. I don't know if it's worth it to use MASM 8.00 (or VC++ 2005). Microsoft seems to be so focused on .NET, that C and especially MASM seem to be an afterthought. I don't know of any feature of MASM 8.00 that outweigh the drawbacks, i.e. the C Run-Time Library issue. The VC++ 2005 IDE has some nice improvements, but again I don't know if the improvements outweigh the drawbacks.

I really don't like what they have done with the C Run-Time Library in VC++ 2005. If you could just copy MSVCR80.DLL to \Windows\System32 it would be OK, but that doesn't work. You can't just copy it to the \Windows\WinSxS folder either. It must be installed with either the .NET Framework 2.0 or the VC++ 2005 Redistributable Package.  :tdown

If you decide to just copy MSVCR80.DLL to the executable's folder you need to jump through hoops with manifests and all that junk.

You can just statically link in the CRT but I don't always want to do that.

At least with MASM 8.00 you can avoid this CRT issue by making sure you link to the MASM32 MSVCRT.LIB.

And then there is the issue of ML.EXE itself being dependant on MSVCR80.DLL.

I don't know, I am still undecided.


Title: Re: MASM now on the Web!
Post by: hutch-- on June 12, 2006, 01:10:31 AM
I have just done a test install of the current MASM32 Project where I changed all of the old binaries to the current ones from the VC express edition and it seems to build all of the examples that I have tested so far with no problems. The only thing I have had to change is to comment out a record and a structure that used it in the WINDOWS.INC file. From earlier testing, you can do much the same with CL.EXE if you are building algorithms to object modules if you are writing plain ANSI C code so at the low level end you pick up the advantages of the latest binaries without the problems of code being dependent on specific DLLs from the net framework install.


Microsoft (R) Macro Assembler Version 8.00.50727.104
Copyright (C) Microsoft Corporation.  All rights reserved.

Assembling: M:\masm32\examples\exampl11\scaption\scaption.asm
Microsoft (R) Incremental Linker Version 8.00.50727.42
Copyright (C) Microsoft Corporation.  All rights reserved.

Volume in drive M is WIN2K_M
Volume Serial Number is E866-1342

Directory of M:\masm32\examples\exampl11\scaption

09/15/2005  03:38p               4,318 scaption.asm
06/12/2006  10:59a               2,508 scaption.obj
06/12/2006  10:59a               3,072 scaption.exe
               3 File(s)          9,898 bytes
               0 Dir(s)  28,482,879,488 bytes free
Press any key to continue . . .
Title: Re: MASM now on the Web!
Post by: donkey on June 12, 2006, 03:38:35 AM
Hi Hutch,

You should note that the structure that had to be modified was the IMPORT_OBJECT_HEADER for PE files, not something anyone (other than myself and a few others) would ever actually use so it's no big deal. Other than that minor issue I had no problem at all assembling some of my old MASM applications, though I cannot comment on macros as I do not generally use them but I heard there might be some problems there.
Title: Re: MASM now on the Web!
Post by: GregL on June 12, 2006, 04:35:14 AM
I'm probably making too big a deal of this CRT issue. For MASM programs it's not much of an issue at all. People just need to be aware of it if they are using the CRT. For C and C++ programs it's more of an issue. I'm gonna shut up about it now.

Title: Re: MASM now on the Web!
Post by: hutch-- on June 12, 2006, 04:42:12 AM
Greg,

DON'T shut up about it, the more we know, the more use it is to more people as this will be a popular set of binaries once they are properly understood.
Title: Re: MASM now on the Web!
Post by: hutch-- on June 12, 2006, 05:02:28 AM
With the structure that Edgar mentioned, this is the version from the server 2003 header file with a suggested conversion to MASM syntax for WINDOWS.INC.

I confess to not having used records for so long I forget how they work but I think this conversion should be OK.


; =======
; winnt.h
; =======
typedef struct IMPORT_OBJECT_HEADER {
    WORD    Sig1;                       // Must be IMAGE_FILE_MACHINE_UNKNOWN
    WORD    Sig2;                       // Must be IMPORT_OBJECT_HDR_SIG2.
    WORD    Version;
    WORD    Machine;
    DWORD   TimeDateStamp;              // Time/date stamp
    DWORD   SizeOfData;                 // particularly useful for incremental links

    union {
        WORD    Ordinal;                // if grf & IMPORT_OBJECT_ORDINAL
        WORD    Hint;
    };

    WORD    Type : 2;                   // IMPORT_TYPE
    WORD    NameType : 3;               // IMPORT_NAME_TYPE
    WORD    Reserved : 11;              // Reserved. Must be zero.
} IMPORT_OBJECT_HEADER;


IMPORT_OBJECT_HEADER STRUCT
  Sig1          dw ?        ; Must be IMAGE_FILE_MACHINE_UNKNOWN
  Sig2          dw ?        ; Must be IMPORT_OBJECT_HDR_SIG2.
  Version       dw ?        ;
  Machine       dw ?        ;
  TimeDateStamp dd ?        ; Time/date stamp
  SizeOfData    dd ?        ; particularly useful for incremental links
  UNION
    Ordinal     dw ?        ; if grf & IMPORT_OBJECT_ORDINAL
    Hint        dw ?        ;
  ENDS
  _Type         dw ?        ; IMPORT_TYPE
  NameType      dw ?        ; IMPORT_NAME_TYPE
  Reserved      dw ?        ; Reserved. Must be zero.
IMPORT_OBJECT_HEADER ENDS

Title: Re: MASM now on the Web!
Post by: GregL on June 12, 2006, 05:05:02 AM
OK, thanks Hutch.  :8) 



Title: Re: MASM now on the Web!
Post by: Vortex on June 12, 2006, 05:14:25 AM
Quote from: Greg on June 12, 2006, 04:35:14 AM
I'm probably making too big a deal of this CRT issue. For MASM programs it's not much of an issue at all. People just need to be aware of it if they are using the CRT.

Hi Greg,

Instead of the CRT, you can use static libraries like masm32.lib or Jibz's WCRT :

http://www.masm32.com/board/index.php?topic=437.0
Title: Re: MASM now on the Web!
Post by: P1 on June 12, 2006, 02:07:30 PM
What is the minimum software purchase ( least amount of investment $$$ ) to obtain MASM 8 for commercial development?

Regards,  P1  :8)
Title: Re: MASM now on the Web!
Post by: GregL on June 12, 2006, 05:13:10 PM
P1,

Visual C++ Editions (http://msdn2.microsoft.com/en-us/library/hs24szh9.aspx) under 'Tools'.

It requires Visual Studio 2005 Professional.

Title: Re: MASM now on the Web!
Post by: GregL on June 12, 2006, 08:32:13 PM
Vortex,

Yes, but the CRT is very handy and I do use it in my MASM programs. Actually if you link to the MASM32 MSVCRT.LIB which refers to MSVCRT.DLL, and don't use the VC++ 2005 MSVCRT.LIB which refers to MSVCR80.DLL, all is well.

With the C compiler it's another story, but, as you know, you can work around it in that as well.

Title: Re: MASM now on the Web!
Post by: hutch-- on June 30, 2006, 02:47:48 AM
I was watching a movie last night and had the time to download a couple of ISO files so I downloaded the VC ISO in case I needed to do a re-install of the VC2005 binaries but as the movie was a reasonably long one, when that finished I also downloaded the ISO for the current version of VB. Installed in today directly from the ISO and it seems to run fine.

I confess to not having written VB since VB2/3 which is a really long time ago but it still had that familiar feeling of VB, plonk something on a form, scrawl some code in the window behind it and behold, it runs ! It is still probably a good toy to have around if you have a feel for VB and its interface design system and is probably useful for making a whole host of personal tricks on a local machine where you don't feel like making the effort of doing it the hard way.
Title: Re: MASM now on the Web!
Post by: zooba on June 30, 2006, 08:19:23 AM
Nothing wrong with production code being written in VB. The tool/IDE/language doesn't prevent people from writing good code, much as the anti-VB people would like to think. Of course, the 'less-good' coders never release anything in C/C++, so it doesn't get a name for having poor coders using it. Unfortunately, VB has got this name, and those of us who do write properly (ie. strong typing, comments, etc.) still get accused of not being 'real' coders.

There's nothing I can't do with VB6 and ASM - C is middle-ground that I don't need.
Title: Re: MASM now on the Web!
Post by: gwapo on June 30, 2006, 08:54:23 AM
At least these anti-VB people doesn't realy know what VB's real capability. They are more like "me too" kind of people, who once someone found a fault to VB, they just simply say "oh oh, me too, me too!".

It's a matter of preference I think, I don't know much about VB6, so for me, I can write faster GUI applications with MFC. But others would prefer VB6, for the same reason that they don't know MFC.

Cheers,

-chris
Title: Re: MASM now on the Web!
Post by: P1 on June 30, 2006, 01:44:14 PM
Management ( in general ) seems to think that VB is better as a resource than C.  Noting, they think C is too hard or too expensive to maintain.  Or is it that VB programmers still speak in English.   ::)

Regards,  P1  :8)
Title: Re: MASM now on the Web!
Post by: hutch-- on July 10, 2006, 02:57:50 PM
I have posted at a later version of WINDOWS.INC that has had all of the old MASM format records replaced with the documented structures from the platformsdk. This should make it fully compatible with ML version 8.0.

http://www.masm32.com/board/index.php?topic=5215.new#new
Title: Re: MASM now on the Web!
Post by: gabor on October 19, 2006, 09:36:43 AM
Hello!

I read through all the posts. Now is it of any use to change to MASM 8.0? I got a slightly worried about the benefits of using MASM at all  :red
What about Pelle's assembler? I guess I'll start to concentrate on that project because (I don't say this maliciously) I don't really believe that Microsoft has any interest of publishing a really uptodate and usefull assembler for they concentrate on C++ and C#.

Greets, Gábor
Title: Re: MASM now on the Web!
Post by: Vortex on October 19, 2006, 11:50:10 AM
Hi Gabor,

Pelle's assembler Poasm is a nearly MASM compatible tool, it assembles the majority of MASM code without any serious problem. The tool emits MS COFF object files and it has some very powefull keywords like INCBIN to embed binary files to the main module. The main difference with Masm is the macro engine but I can tell that Poasm has very good macro capabilities.
Pelle is updating regulary the tool. We have a subforum for Poasm :

http://www.masm32.com/board/index.php?board=42.0
Title: Re: MASM now on the Web!
Post by: vid on November 15, 2006, 05:55:18 PM
also note that SDK and DDK EULA prohobits you to use MASM or apps written in MASM in
Quoteany country to which the U.S. has embargoed or restricted the export of goods or services, which currently include, but are not necessarily limited to Cuba, Iran, Iraq, Libya, North Korea, Sudan and Syria, or to any national of any such country, wherever located, who intends to transmit or transport the products back to such country
Title: Re: MASM now on the Web!
Post by: Ehtyar on November 15, 2006, 07:43:43 PM
*Rolls eyes*. The team at MS who write these things really need to die...slowly...

Ehtyar.

[edit]
Vid, i see you have crossed over to the dark side, congrats ;)
[/edit]
Title: Re: MASM now on the Web!
Post by: Rockphorr on December 01, 2006, 05:57:49 AM
Quote from: sinsi on June 09, 2006, 03:02:06 AM
It doesn't require VC Express (or any Visual Studio product) if you just unzip it.

It is very good. I will try just unzip it.
Title: Re: MASM now on the Web!
Post by: cute cheetah on December 26, 2006, 11:11:21 AM
I extracted the MASMsetup.EXE with uniextract v1.42,then found setup.exe,use uniextract v1.42 again ,then found vc_masm1.cab and vc_masm.msi,extract vc_masm.msi with uniextract v1.42,then found ml.exe.
funny :toothy :green :green2
Title: Re: MASM now on the Web!
Post by: hutch-- on December 26, 2006, 11:15:26 AM
Guys,

for all the exotic methods of extracting ML.EXE, if you don't have the correct DLLs installed from the NET package, it won't run. It is different from earlier version of ML that would run without any special DLL.
Title: Re: MASM now on the Web!
Post by: Ehtyar on December 27, 2006, 03:14:33 AM
Oh that is just gross. MS pulled that same s**t!!!!!!!!!!! with the sysinternals tools, the executables were half the size before MS took over. Absolutely disgusting.

Ehtyar.
Title: Re: MASM now on the Web!
Post by: StarsInTheSky on December 28, 2006, 05:02:29 PM
Is Microsoft reading?  What would it take to order a release of masm that we will be happy with?

I doubt anyone is interested in it working with vc++. All that is wanted is that it is bug free / backwards compliant app including new instruction sets, without dependencies etc. right?

Title: Re: MASM now on the Web!
Post by: PBrennick on December 28, 2006, 06:35:47 PM
StarsInTheSky,
Microsoft does not control what is in the instruction set. It is integral to the CPU. The rest, well, you never know what might happen. This will probably be a slow process but I think it will come. Critical parts of the OS are written in assembly and you can be certain they are using something that is up-to-date and only available internally.

Paul
Title: Re: MASM now on the Web!
Post by: Ehtyar on December 29, 2006, 11:07:57 AM
Quote from: PBrennick on December 28, 2006, 06:35:47 PM
Critical parts of the OS are written in assembly and you can be certain they are using something that is up-to-date and only available internally.
Bastards.
Title: Re: MASM now on the Web!
Post by: StarsInTheSky on December 29, 2006, 11:19:58 AM
They can't honestly think someone would buy their visual studio for assembler programming the way it is now, so why not just concentrate on making a release we are happy with? They could even commersialise it, if they are not satisified with our goodwill.

But it is we who want something, then We should give them a list, and ask them to make exactly what we want. Try to be more constructive and less whining. I think microsoft reps posting here is a good thing. I hope, there will be more communication, like a dialog.

Title: Re: MASM now on the Web!
Post by: sinsi on December 31, 2006, 06:12:26 AM
Quote from: PBrennick on December 28, 2006, 06:35:47 PM
Critical parts of the OS are written in assembly ...
Are they? I always thought that MS invented C++ just to write Windows and piss us all off  :bg

But seriously, are there any?
Title: Re: MASM now on the Web!
Post by: hutch-- on December 31, 2006, 06:22:27 AM
Software is always written at a corporate level on the basis of need, not practice. At an OS level very few frills are required by a company the size of Microsoft and contrary to popular opinion, they certainly do have people who can write true low level code. Bottom line is if they did not need MASM it would no longer exist, it does and its current so the do need it.
Title: Re: MASM now on the Web!
Post by: Cobra on November 28, 2007, 01:42:17 AM
MASM v9.00.21022.08 is now available with VisualStudio Express 2008.

Here's some links:
http://www.microsoft.com/express/download/

Direct Link: 894 megs english ISO (sorry I don't have links for other languages) : http://go.microsoft.com/fwlink/?LinkId=104679
Title: Re: MASM now on the Web!
Post by: GregL on November 28, 2007, 03:59:18 AM
Cobra,

Thanks for the info, I had downloaded the ISO for the Express Edition all-in-one DVD and burned it to DVD, but I have not installed it. I didn't know if ML.EXE was included in the Express Edition or not. Have you used it at all?

Title: Re: MASM now on the Web!
Post by: jdoe on November 28, 2007, 04:30:49 AM
I have the VC++ Express 2008 installed and there is no trace of MASM on it.
More, on the web page of Microsoft, they said that this package was for both x32 and x64 Windows. Again, no trace of x64 anywhere. There is liars everywhere.

Title: Re: MASM now on the Web!
Post by: GregL on November 28, 2007, 05:02:04 AM
jdoe,

I was surprised when Cobra said it was included, as it was not in VS 2005 Express Edition.

Cobra?




Title: Re: MASM now on the Web!
Post by: Shantanu Gadgil on November 28, 2007, 05:17:33 AM
MASM is _NOT_ part of the Express Edition.

Ref: http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=291199

Regards,
Shantanu
Title: Re: MASM now on the Web!
Post by: hutch-- on November 28, 2007, 11:40:52 AM
I confirm the same, lucky I had 900 meg bandwidth to waste.
Title: Re: MASM now on the Web!
Post by: ramguru on November 28, 2007, 12:19:28 PM
Macro Assembler (v9.00.21022.08) was included in my "MS Visual Studio 2008 Pro" version, (3.3Gb ISO install) that I have downloaded week ago.
Title: Re: MASM now on the Web!
Post by: Mark Jones on November 28, 2007, 03:31:40 PM
So what's that? We're officially moving to GoASM and PoASM? :lol :U
Title: Re: MASM now on the Web!
Post by: Vortex on November 28, 2007, 06:04:56 PM
Beside Poasm and Goasm, there will be also Bogdan's assembler Solasm. It's good to know that there are alternatives to ml.exe
Title: Re: MASM now on the Web!
Post by: jj2007 on November 28, 2007, 08:13:19 PM
Quote from: Shantanu Gadgil on November 28, 2007, 05:17:33 AM
MASM is _NOT_ part of the Express Edition.
But can be downloaded separately from http://www.microsoft.com/downloads/details.aspx?familyid=7A1C9DA0-0510-44A2-B042-7EF370530C64&displaylang=en

Attention, this version is truely dangerous - it will consume your code!!

The Microsoft Macro Assembler 8.0 (MASM) is a tool that consumes x86 assembly language programs and generates corresponding binaries. Assembly language programs built with MASM can be edited and debugged using Visual C++ 2005 Express Edition. This installation requires the Visual C++ 2005 Express Edition to be installed on the computer.

This download is for non-commercial use only, see the EULA during installation for more details.
Title: Re: MASM now on the Web!
Post by: Vortex on November 28, 2007, 10:05:10 PM
My question is for those who tried the new version : what are the features of ml.exe V9.0?
Title: Re: MASM now on the Web!
Post by: Cobra on November 29, 2007, 06:46:18 AM
Sorry about the misinformation.  :(  I was on a shared developement pc at work (don't ask).

Anyway, it does appear that the new version of ML does support up to and including SSE4. The commandline bug when processing *.asm is still there. I haven't gotten too much more into it than that.

Title: Re: MASM now on the Web!
Post by: Adamanteus on December 09, 2007, 06:38:40 PM
It seems that Microsoft simple checking on us beta version of the assembler, because take from the pocket possible only ML and it's put in special file, as for intresting Varvars, so in WINDOWS.INC for 32 bit MASM (Version 1.30 Release 7 March 2006) from hutch file bub on line 17530  :

IMPORT_OBJECT_HEADER STRUCT
    Sig1 dw     ?
    Sig2 dw     ?
    Version dw  ?
    Machine dw  ?
    TimeDateStamp dd ?
    SizeOfData dd   ?
;    union
        Ordinal dw  ?
;        Hint dw     ?
;    ends
    rImport ImportRec <>
IMPORT_OBJECT_HEADER ENDS
Title: Re: MASM now on the Web!
Post by: pb1977 on January 04, 2008, 02:09:19 AM
nice
Title: Re: MASM now on the Web!
Post by: NightWare on January 04, 2008, 02:35:13 AM
Quote from: jj2007 on November 28, 2007, 08:13:19 PM
The Microsoft Macro Assembler 8.0 requires the Visual C++ 2005 Express Edition to be installed on the computer.

it's not true... in fact there is no need of visualc++ 2005... just unpack the archive and rename the file to ml.exe that's all...
Title: Re: MASM now on the Web!
Post by: croconile on March 09, 2008, 05:11:12 AM
Great :)
Title: Re: MASM now on the Web!
Post by: ecube on March 10, 2008, 06:23:48 AM
what would the reasoning behind microsoft not allowing you to use masm to develop commerical software? also this has been addressed before but just to clarify the compiler/linker in the masm32 package you can use to write commerical software just not open source?
Title: Re: MASM now on the Web!
Post by: Mark Jones on March 16, 2008, 11:15:21 PM
IIRC, the EULA bundled with MASM states that you can use it for commercial software, but you may not redistribute MASM or your source code, and you may not use MASM to make software for (the competitor's) OS's. Check the EULA, it's all there.
Title: Re: MASM now on the Web!
Post by: travism on October 23, 2008, 10:35:15 PM
Wait so does this mean that the apps we create with masmv10 package that hutch and others created we cant sell the apps?
Title: Re: MASM now on the Web!
Post by: Mark Jones on October 23, 2008, 11:52:50 PM
Quote from: Mark Jones on March 16, 2008, 11:15:21 PM
states that you can use it for commercial software...
Title: Re: MASM now on the Web!
Post by: hutch-- on October 24, 2008, 12:43:26 AM
Travis,

Have a read of the enclosed EULA for ML in MASM32, it specifically allows you to write software using it and to SELL that software. Prohibitions are that you don't use it to create software for competing operating systems, Linux under a Windows emulator or ReactOS being the example where you cannot use it. Microsoft will also not allow ML to be used to create "open source" software where you submit the tools and/or code produced by it to a more restricted licence like GPL or similar.

this simply means you cannot relicence THEIR commercial software or what it produces for competing operating systems or licencing systems.
Title: Re: MASM now on the Web!
Post by: travism on October 24, 2008, 06:50:58 AM
Oh ok sorry about the misunderstanding! Thanks! :)
Title: Re: MASM now on the Web!
Post by: Bill Hudson on January 23, 2009, 01:17:57 AM
I downloaded all the version 8 express products. They installed in a folder named "C:\Program Files\Microsoft Visual Studio 9.0 and my ml is version 9.0.30729.1 and my link says the same version number. However when I run Link /? it says this file mspdb80.dll couldn't be found, and it wouldn't run. I did a search and found it here ---> "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\mspdb80.dll"

Anyone know whats going on here. Whats with this version? Before I found the binaries in there I tried to get Masm 8 and it said vc++ express 5 was needed and wouldn't install, even though I have version 8 of vc & vc ++ express...
Title: Re: MASM now on the Web!
Post by: GregL on January 23, 2009, 03:22:56 AM
Bill,

It looks to me like you downloaded Visual C++ 2008 SP1 Express Edition, which includes ml.exe version 9.0. And yes, it is odd, but link.exe 9.0 does have a dependency on mspdb80.dll.

If you already had VC++ 2005 Express installed, the separate MASM 8.0 download should have installed.


Title: Re: MASM now on the Web!
Post by: jj2007 on January 24, 2009, 01:15:58 AM
Does anybody know why ml 9.0 produces larger libraries, about 9% as compared to ml 6.14? Executables seem to have the same size.
Title: Re: MASM now on the Web!
Post by: BlackVortex on January 24, 2009, 02:36:24 AM
Quote from: jj2007 on January 24, 2009, 01:15:58 AM
Does anybody know why ml 9.0 produces larger libraries, about 9% as compared to ml 6.14? Executables seem to have the same size.
A good start would be to compare the sizes of the sections.
Title: Re: MASM now on the Web!
Post by: Igor on February 09, 2009, 10:05:52 PM
@Bill Hudson
I had the same problem. This is how i fixed it:
You have to edit environment variable "path" by appending this string "C:\Program Files (x86)\Microsoft Visual Studio 9.0\vc\bin;C:\Program Files (x86)\Microsoft Visual Studio 9.0\common7\ide".
Note that you will probably have to restart windows for it to update environment variables. After this is done, you dont need any dll files in masm bin folder.

BTW. credits for solution go to this thread -> http://issaris.blogspot.com/2008/04/creating-dlls-using-visual-c-8-on.html

Title: Re: MASM now on the Web!
Post by: Acid The Great on March 26, 2009, 06:28:08 AM
Greetings everyone, so the only way to program in MASM is if I have some form of visual studios installed?  Is there a good tutorial on this?  Because i've had a very trying time with visual studios so far.
Title: Re: MASM now on the Web!
Post by: jj2007 on March 26, 2009, 09:21:38 AM
I had installed VS Express on one machine, and had some trouble finding out how to get Masm running on another one without installing the full package there. Apparently, to run ml version 9.0, copying these files seems to be essential and sufficient:

\masm32\bin\link.exe
\masm32\bin\ml.exe
\masm32\bin\mspdb80.dll
\masm32\bin\msvcr90.dll
\masm32\bin\Microsoft.VC90.CRT.manifest   <-that one caused me some headaches, it's absolutely needed

No need to set or change any environment variables, as long as you use proper paths in your code:
include \masm32\include\masm32rt.inc

.code
start:
exit
end start
Title: Re: MASM now on the Web!
Post by: Igor on March 26, 2009, 09:37:25 AM
@jj2007
Are you sure that you are talking about version 9.0.30729.1?
Title: Re: MASM now on the Web!
Post by: jj2007 on March 26, 2009, 10:21:41 AM
Quote from: Igor on March 26, 2009, 09:37:25 AM
@jj2007
Are you sure that you are talking about version 9.0.30729.1?

Microsoft (R) Macro Assembler Version 9.00.21022.08
Title: Re: MASM now on the Web!
Post by: Igor on March 26, 2009, 11:31:32 AM
Environment variables are needed for 9.0.30729.1.
Title: Re: MASM now on the Web!
Post by: Acid The Great on March 26, 2009, 03:24:00 PM
Just to be clear, what all does one need to program in MASM?
Title: Re: MASM now on the Web!
Post by: jj2007 on March 26, 2009, 04:54:25 PM
Quote from: Igor on March 26, 2009, 11:31:32 AM
Environment variables are needed for 9.0.30729.1.

Hmmm.... it seems I was particularly lucky to get the last version that works without environment variables. :toothy
Title: Re: MASM now on the Web!
Post by: ToutEnMasm on March 26, 2009, 05:11:08 PM

Not difficult to sole this,there is a batch file with the vc++ express 2005,2008.
It is vsvars32.bat
And i you have the sdk,lib of the sdk are used but you can add a path to the lib of masm32

sample:
Quote
@echo on
REM uniquement des chemins dans la convention dos,utiliser chemin
REM /Zp[n] Set structure alignment
call C:\PROGRA~1\MICROS~1.0\Common7\Tools\vsvars32.bat

SET ML=/c /coff /Zp4
SET LINK=/SUBSYSTEM:WINDOWS
SET INCLUDE=%INCLUDE%;F:\masm32\sdk
REM ///////////////////////////////////////////////////////
SET ASM=minus
REM ///////////////////////////////////////////////////////

del *.pdb
del *.ilk
del *.obj
del *.exe
pause
rc /v %ASM%.rc
cvtres /machine:ix86 /OUT:%ASM%.bin %ASM%.res

ml %ASM%.asm

pause
Link  %ASM%.obj %ASM%.bin
endlocal
pause
Title: Re: MASM now on the Web!
Post by: FORTRANS on March 26, 2009, 05:18:56 PM
Quote from: Acid The Great on March 26, 2009, 03:24:00 PM
Just to be clear, what all does one need to program in MASM?

Hi,

   You basically need an editor to create your program.  Then you
need MASM to assemble your program.  Then a linker to create
an executable.  An IDE like Visual Studio can help to automate
things a bit, if that helps you.

Steve N.
Title: Re: MASM now on the Web!
Post by: Acid The Great on March 27, 2009, 02:36:14 AM
thanx, is there a tutorial on how to use masm in visual studio?
Title: Re: MASM now on the Web!
Post by: brethren on March 27, 2009, 10:04:29 PM
Quote from: Acid The Great on March 27, 2009, 02:36:14 AM
thanx, is there a tutorial on how to use masm in visual studio?

http://kipirvine.com/asm/

try the link "getting started with masm"
Title: Re: MASM now on the Web!
Post by: Mark Jones on March 27, 2009, 10:51:19 PM
Note, you might want to get MASM working from the command-line first, to verify things are installed properly. Then move to an IDE. This can save lots of time.

I.e., Install MASM32, add \masm32\bin to the PATH if you like (usually helps but is not required), then use a command prompt to browse to \masm32\examples\exampl01\minimum and run the build.bat file. It should assemble without error.
Title: Re: MASM now on the Web!
Post by: ecube on March 27, 2009, 11:56:40 PM
Quick way to update

http://www.masm32.com/board/index.php?topic=11111.0