When i install masm assembler, it asked to install Microsoft visual c++ 2005 express edition. I installed it. Now i can find only "ml.exe". Where is masm.exe? Even i tried in cmd by typing masm.exe, but it didn't work. Is masm.exe and ml.exe same?
What is the difference between MASM.exe and ml.exe?
MASM.EXE
was the "Microsoft Macro ASseMbler" as MSDOS-program. ML.EXE
is the "Microsoft Macro Assembler and Linker" as Win32-program. ML64.EXE
is "MASM for x64". They all can be called "MASM". "MASM32" is commonly used for a SDK named MASM32, e.g. for a tag here (masm32).
Some software bundles for ML.EXE 6.11 include both MASM.EXE and ML.EXE, but MASM.EXE just calls ML.EXE with command line parameters for 5.0 compatability. ML.EXE is a 32 bit program, but it will use a built in dos extender if running in 16 bit real mode (like MSDOS). It can also run in a 32 bit dos console window. –
Undergrown
@rcgldr: MASM.EXE 6.11 is in fact a "Microsoft (R) MASM Compatibility Driver Version 6.11" , runs in MSDOS and calls ML.EXE in Win32. But the MSDOS part ("stub") of ML.EXE reports in DOSBox: "This program cannot be run in DOS mode". –
Fairy
To run MASM.EXE / ML.EXE 6.11 on MSDOS, you need the dos extender DOSXNT.EXE, and also you need to set an environment variable for the dos extender: set tnt=-nopspgrow . It's not just ML.EXE, but most of the .EXE files that come with "MASM 6.11". I recall using the 6.11 dot directives like .if .else .endif, with several MSDOS projects, and I think I was running ML.EXE in order to use the dot directives. If you patch / update to 6.14 (maybe 6.12 or later), then it won't run under MSDOS. –
Undergrown
Microsoft Developer Network says:
ml.exe : Assembles and links one or more assembly-language source files.
ml.exe has 64 bit named ml64.exe and I think they are newer version of masm.exe and I think MASM does not have 64 bit version.
This is incorrect. MASM 6.11 is the last MASM version that works in MS-DOS and it has both
masm.exe
and ml.exe
. –
Vacuous @Vacuous Thank you, I did not see that version. I correct my answer. Thanks again –
Millicentmillie
© 2022 - 2024 — McMap. All rights reserved.
ml.exe
is the new name for MASM. I don't know when exactly it was changed but I got bitten by this a while back after not using MASM for some years. msdn.microsoft.com/en-us/library/s0ksfwcf.aspx – Claudineml.exe
andml64.exe
. So you can say they're the same - masm.exe got renamed. – Claudineml64.exe
. – Claudine