Author Topic: [RESOLVED] ml64.exe and Windows 7 doesn't produce anything  (Read 1617 times)

Negens

  • Regular Member
  • *
  • Posts: 5
[RESOLVED] ml64.exe and Windows 7 doesn't produce anything
« on: January 19, 2017, 10:37:00 AM »
I successfully installed ml64.exe on Windows 8 but, on Windows 7 64bits, ml64.exe doesn't do anything.
No error, no messages, nothing !!!

ml64.exe /? doesn't even print anything !  :icon_eek:

For information, ml.exe workds fine.
Have you ever encountered that ?


EDIT : I finally opt for jwasm/jwlink solution that works pretty well.
« Last Edit: January 19, 2017, 11:41:11 AM by Negens »

hutch--

  • Administrator
  • Member
  • ******
  • Posts: 4808
  • Mnemonic Driven API Grinder
    • The MASM32 SDK
Re: [RESOLVED] ml64.exe and Windows 7 doesn't produce anything
« Reply #1 on: January 19, 2017, 12:18:59 PM »
It sounds like you are in business with JWASM/JLINK but your problem with ML64 sounds unusual. Hard to tell with no version info but various versions of ML64 run on Win7/8/10 with no problems.
hutch at movsd dot com
http://www.masm32.com    :biggrin:  :biggrin:

rrr314159

  • Member
  • *****
  • Posts: 1381
Re: [RESOLVED] ml64.exe and Windows 7 doesn't produce anything
« Reply #2 on: January 19, 2017, 10:17:22 PM »
Negens, ml64 should work on Win7. There must be something wrong with your installation. But your conclusion is right, IMHO. Use JWasm and / or its forks. They're much better than ml64 IMHO.
I am NaN ;)

jj2007

  • Member
  • *****
  • Posts: 7542
  • Assembler is fun ;-)
    • MasmBasic
Re: [RESOLVED] ml64.exe and Windows 7 doesn't produce anything
« Reply #3 on: January 19, 2017, 11:45:34 PM »
HJWasm works fine, even with the Microsoft linkers, but beware of incompatibility problems with the set of macros that have been developed by Vasily & Hutch to overcome the lack of invoke in ML64. Hutch has invested an awful lot of work in the 64-bit equivalent to the Masm32 library, but so far there is no switch that would disable specific macros that collide with valid HJWasm keywords such as "invoke"; as a result, HJWasm will bark at you if it finds invoke macro args in the include files.

Note also that the native invoke macro, in 32-bit code as well as in its jinvoke variant, counts and checks arguments. AFAIK the ML64 substitute developed by Vasily doesn't care if you supply 10 or 11 arguments to CreateWindowEx. Some see that as a feature 8)

hutch--

  • Administrator
  • Member
  • ******
  • Posts: 4808
  • Mnemonic Driven API Grinder
    • The MASM32 SDK
Re: [RESOLVED] ml64.exe and Windows 7 doesn't produce anything
« Reply #4 on: January 20, 2017, 12:08:56 AM »
I would not worry too much, the alternative assemblers are not compatible with 64 bit MASM so you will not be using any of it. Its includes, static libraries and macros are designed to work only with 64 bit MASM, if you use other assemblers, you must use what is provided with them. I don't need to proselytise for the Microsoft assembler, it is probably the most widely distributed assembler in the world as part of Visual Studio.
hutch at movsd dot com
http://www.masm32.com    :biggrin:  :biggrin:

jj2007

  • Member
  • *****
  • Posts: 7542
  • Assembler is fun ;-)
    • MasmBasic
Re: [RESOLVED] ml64.exe and Windows 7 doesn't produce anything
« Reply #5 on: January 20, 2017, 12:16:09 AM »
I would not worry too much, the alternative assemblers are not compatible with 64 bit MASM

Truth is that ML64 is not compatible with ML32 (and HJWasm, AsmC) because it lacks invoke and the high level .if ... .endif etc constructs that Masm introduced 20 years ago.

Quote
I don't need to proselytise for the Microsoft assembler

If you don't have to, why are you doing it then?  ::) ;)

hutch--

  • Administrator
  • Member
  • ******
  • Posts: 4808
  • Mnemonic Driven API Grinder
    • The MASM32 SDK
Re: [RESOLVED] ml64.exe and Windows 7 doesn't produce anything
« Reply #6 on: January 20, 2017, 12:31:56 AM »
I keep hearing noise from people who have not done enough to write 64 bit MASM properly.  :biggrin:

Truth is that 64 bit MASM is a low level tool designed by Microsoft for experienced programmers. The ML design that so many are aping was designed by Microsoft 27 years ago so its not like its leading edge.  :P

Boasting about 16 bit ML compatibility is like boasting about a T model Ford.  :badgrin:
hutch at movsd dot com
http://www.masm32.com    :biggrin:  :biggrin:

TWell

  • Member
  • ****
  • Posts: 748
Re: [RESOLVED] ml64.exe and Windows 7 doesn't produce anything
« Reply #7 on: January 20, 2017, 12:57:01 AM »
Enjoy how nicely it output errors in commandline
Quote
ml64.exe "C:\Users\TWell\Documents\code\foo1.asm"
Microsoft (R) Macro Assembler (x64) Version 14.00.23506.0
Copyright (C) Microsoft Corporation.  All rights reserved.

 Assembling: C:\Users\TWell\Documents\code\foo1.asm
C:\Users\TWell\Documents\code\foo1.asm(7)cified size
C:\Users\TWell\Documents\code\foo1.asm(7) : error A2006:undefined s
Easy to read?

jj2007

  • Member
  • *****
  • Posts: 7542
  • Assembler is fun ;-)
    • MasmBasic
Re: [RESOLVED] ml64.exe and Windows 7 doesn't produce anything
« Reply #8 on: January 20, 2017, 01:13:20 AM »
Enjoy how nicely it output errors in commandline

Yes indeed - but on the positive side, it's a Microsoft product :icon_mrgreen:

As a child, Bill got his kicks pulling the wings off flies and watching them struggle helplessly. Now he gets his kicks turning out loads of chyte and watching you struggle helplessly trying to install it and get it working. But he still puts in long hours, devising new ways to make you suffer. ML64 was one of his finest creations. The man's a genius: compared to him the Marquis de Sade was a bumbling amateur.

Negens

  • Regular Member
  • *
  • Posts: 5
Re: [RESOLVED] ml64.exe and Windows 7 doesn't produce anything
« Reply #9 on: January 20, 2017, 01:20:56 AM »
It sounds like you are in business with JWASM/JLINK but your problem with ML64 sounds unusual. Hard to tell with no version info but various versions of ML64 run on Win7/8/10 with no problems.

You were absolutely right !
I took an ML64.exe (and a link.exe) a bit older and they work.

 :t

hutch--

  • Administrator
  • Member
  • ******
  • Posts: 4808
  • Mnemonic Driven API Grinder
    • The MASM32 SDK
Re: [RESOLVED] ml64.exe and Windows 7 doesn't produce anything
« Reply #10 on: January 20, 2017, 01:47:11 AM »
Negens,

Glad you got it going OK.  :t

For our unhappy friends who don't understand how to write code in a low level assembler, 64 bit MASM has full include files, complete working import libraries, its own static library that just keeps growing and it is already production capable, has its own prologue/epilogue that works just fine and a call automation macro that supports a number of different wrappers including "invoke" that will handle 24 arguments. It is aimed at professional assembler programmers who don't need the hand holding and for the experienced it is a lot faster to develop with by not having to endlessly construct 1990 style prototypes.

Its also a current assembler maintained by Microsoft, is part of Visual Studio and is the most widely distributed assembler in the world. It is also THE release version, its not under constant development and only changes when something needs to be added to it. Must be tough when you are dependent on 1990 technology to hold your hot little hand.  :P
hutch at movsd dot com
http://www.masm32.com    :biggrin:  :biggrin:

vengy

  • Regular Member
  • *
  • Posts: 4
Re: [RESOLVED] ml64.exe and Windows 7 doesn't produce anything
« Reply #11 on: February 21, 2017, 11:26:57 AM »
I reported an ml64.exe output corruption bug which I see you're also having:

ml64.exe "C:\Users\TWell\Documents\code\foo1.asm"
Microsoft (R) Macro Assembler (x64) Version 14.00.23506.0
Copyright (C) Microsoft Corporation.  All rights reserved.

 Assembling: C:\Users\TWell\Documents\code\foo1.asm
C:\Users\TWell\Documents\code\foo1.asm(7)cified size
C:\Users\TWell\Documents\code\foo1.asm(7) : error A2006:undefined s

It's been fixed in vs2017, but not updated in vs2015.

https://social.msdn.microsoft.com/Forums/vstudio/en-US/335944b0-89d0-4e06-8f28-09eb1f5eaa0e/masm-ml64exe-corrupted-errorswarnings?forum=vclanguage

hutch--

  • Administrator
  • Member
  • ******
  • Posts: 4808
  • Mnemonic Driven API Grinder
    • The MASM32 SDK
Re: [RESOLVED] ml64.exe and Windows 7 doesn't produce anything
« Reply #12 on: February 21, 2017, 12:15:11 PM »
Thanks Vengy,

Some of the error outputs were less than intuitive (garbled nonsense) especially with the include files if there were any errors in them. Will have to get the later version and test it  to see how it works on Win 10. Now our friends using Watcom clones will have one less item to complain about but no doubt they will find something to sob silently in a corner about.  :P
hutch at movsd dot com
http://www.masm32.com    :biggrin:  :biggrin:

jj2007

  • Member
  • *****
  • Posts: 7542
  • Assembler is fun ;-)
    • MasmBasic
Re: [RESOLVED] ml64.exe and Windows 7 doesn't produce anything
« Reply #13 on: February 21, 2017, 12:45:23 PM »
Will have to get the later version

Some later versions have garbled output, see also
http://masm32.com/board/index.php?topic=5662.msg60775#msg60775
http://masm32.com/board/index.php?topic=5678.msg60531#msg60531

Version 19 March 2010, for example, is OK in this respect (but chokes occasionally over valid code, and is not compatible to 32-bit MASM syntax, as we all know :greensml:)

Microsoft (R) Macro Assembler (x64) Version 14.00.24210.0 is extremely slow, unless there is a switch that I haven't found yet. It almost freezes.

hutch--

  • Administrator
  • Member
  • ******
  • Posts: 4808
  • Mnemonic Driven API Grinder
    • The MASM32 SDK
Re: [RESOLVED] ml64.exe and Windows 7 doesn't produce anything
« Reply #14 on: February 21, 2017, 01:04:03 PM »
The problem is with your assumptions of multi-port code using different assemblers. Old 16/32 bit MASM is not compatible with 64 bit MASM which is a separate stand alone tool. I have no problems at all running the current version of 64 bit MASM but then I am not trying to run legacy incompatible code with it, I only assembler Microsoft 64 bit MASM code with 64 bit MASM. MASM in 64 bit does not support either 16 bit or 32 bit MASM code, for that you use 16 or 32 bit ML.EXE which has been around since 1990.

Since VC/VS is the major development environment at a world level, its version of 64 bit MASM is the reference for MASM compatibility, for the little that its worth, 16 bit real mode MASM code does not build with the 64 bit version of MASM either. The Watcom clones under development are not MASM 64 compatible which is of course their right to develop whatever they like.

Since I can tolerate many different tools, FASM is not ML 32 compatible, neither is GAS, Jeremy Gordon's assembler, Bogdan's assembler, there is a 64 bit Russian version of TASM that is 64 bit from memory, all which are not 32 bit MASM compatible.
hutch at movsd dot com
http://www.masm32.com    :biggrin:  :biggrin: