The MASM Forum

64 bit assembler => 64 bit assembler. Conceptual Issues => Topic started by: Ravi Kiran on October 24, 2021, 07:26:27 PM

Title: 64-bit MASM SDK
Post by: Ravi Kiran on October 24, 2021, 07:26:27 PM
 Hutchie sir we are waiting for 64-bit masm ask.
Title: Re: 64-bit MASM SDK
Post by: hutch-- on October 30, 2021, 12:54:29 PM
Ravi,

You are stuck with Microsoft being the owners of the binaries and they only make it available on their own web site. I understand the problems of limited and slow bandwidth as I have been around since the telephone dial up days (28k if you were lucky) bit I would explore the Microsoft web site to find the smallest download possible, you need Visual Studio 2019 to get the right binaries.
Title: Re: 64-bit MASM SDK
Post by: Ravi Kiran on November 01, 2021, 06:54:24 PM
Quote from: hutch-- on October 30, 2021, 12:54:29 PM
Ravi,

You are stuck with Microsoft being the owners of the binaries and they only make it available on their own web site. I understand the problems of limited and slow bandwidth as I have been around since the telephone dial up days (28k if you were lucky) bit I would explore the Microsoft web site to find the smallest download possible, you need Visual Studio 2019 to get the right binaries.
[./quote]
Unfortunately there is no ebook on masm32.
I'll sure to write a ebook on masm32 sdk and future masm64 SDK.

Title: Re: 64-bit MASM SDK
Post by: hutch-- on November 01, 2021, 07:46:06 PM
My last post explained to you that Microsoft OWN the binaries and it is from them that you will have to get them. I am not sure why you keep repeating the desire to get them any other way. I understand limited bandwidth as I came from the 28k days (if you were lucky) but you have no choice than to get the binaries from Microsoft. When I first downloaded the DDK that had an early version of 32 bit ML.EXE, it took me 23 hours to get the download.

You could try asking your internet service providor to get the download for you.

I have also moved this topic as I don't want random meanderings posted in the the 64 bit MASM forum.
Title: Re: 64-bit MASM SDK
Post by: Ravi Kiran on November 01, 2021, 08:35:36 PM
Quote from: hutch-- on November 01, 2021, 07:46:06 PM
My last post explained to you that Microsoft OWN the binaries and it is from them that you will have to get them. I am not sure why you keep repeating the desire to get them any other way. I understand limited bandwidth as I came from the 28k days (if you were lucky) but you have no choice than to get the binaries from Microsoft. When I first downloaded the DDK that had an early version of 32 bit ML.EXE, it took me 23 hours to get the download.

You could try asking your internet service providor to get the download for you.

I have also moved this topic as I don't want random meanderings posted in the the 64 bit MASM forum.

Sorry sir. I'll wait then. See 'ya
Title: Re: 64-bit MASM SDK
Post by: TimoVJL on November 01, 2021, 08:40:58 PM
download just a packages, what you want, like this, 15Mb
Tools.HostX64.TargetX64 (https://download.visualstudio.microsoft.com/download/pr/1a4f33a7-9be4-4fd2-856e-958fb01ee680/182777adfee5ee45dcd00757262c5595d307c9e63aca8c7d05974606f9fbc1b2/Microsoft.VisualCpp.Tools.HostX64.TargetX64.vsix)
Title: Re: 64-bit MASM SDK
Post by: mineiro on November 01, 2021, 08:58:45 PM
others options;

poasm,polib,polink,porc ...
http://www.smorgasbordet.com/pellesc/

uasm,wininc,h2incx,manual
http://www.terraspace.co.uk/uasm.html

asmc,linkw,libw
https://github.com/nidud/asmc/tree/master/bin

debug
https://x64dbg.com/#start
Title: Re: 64-bit MASM SDK
Post by: hutch-- on November 01, 2021, 09:52:49 PM
Timo,

What do you open that VC file with ?

While waiting, you can try this link for the VS tools.

https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=16

The initial download is about 1.4 meg. Once you have downloaded it, run it and it will give you a range of options. You want the ones at the top for "Desktop Development With C++"
Title: Re: 64-bit MASM SDK
Post by: TimoVJL on November 01, 2021, 10:44:54 PM
7-Zip can open a .vsix package.
Title: Re: 64-bit MASM SDK
Post by: Ravi Kiran on November 01, 2021, 10:52:52 PM
Quote from: hutch-- on November 01, 2021, 09:52:49 PM
Timo,

What do you open that VC file with ?

While waiting, you can try this link for the VS tools.

https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=16

The initial download is about 1.4 meg. Once you have downloaded it, run it and it will give you a range of options. You want the ones at the top for "Desktop Development With C++"

Thank y'all.
Title: Re: 64-bit MASM SDK
Post by: Ravi Kiran on November 01, 2021, 10:54:36 PM
Quote from: TimoVJL on November 01, 2021, 10:44:54 PM
7-Zip can open a .vsix package.
Thank you sir
Title: Re: 64-bit MASM SDK
Post by: jj2007 on November 02, 2021, 12:18:36 AM
Quote from: TimoVJL on November 01, 2021, 08:40:58 PM
download just a packages, what you want, like this, 15Mb
Tools.HostX64.TargetX64 (https://download.visualstudio.microsoft.com/download/pr/1a4f33a7-9be4-4fd2-856e-958fb01ee680/182777adfee5ee45dcd00757262c5595d307c9e63aca8c7d05974606f9fbc1b2/Microsoft.VisualCpp.Tools.HostX64.TargetX64.vsix)

Interesting. You need to open it with an archiver (fine with 7-zip). This is apparently version 14:
  Microsoft (R) Macro Assembler (x64) Version 14.16.27045.0
  591280 bytes of 21.11.2020

I tested it with my 64-bit template: this version of ML64 seems to be utterly slow. Twenty seconds to assemble a Hello World is just too much. My standard version of ML64 (10.00.30319.01) does it in 700ms, UAsm does it in 400ms. AsmC is even a tick faster.
Title: Re: 64-bit MASM SDK
Post by: Ravi Kiran on November 02, 2021, 12:32:59 AM
Quote from: jj2007 on November 02, 2021, 12:18:36 AM
Quote from: TimoVJL on November 01, 2021, 08:40:58 PM
download just a packages, what you want, like this, 15Mb
Tools.HostX64.TargetX64 (https://download.visualstudio.microsoft.com/download/pr/1a4f33a7-9be4-4fd2-856e-958fb01ee680/182777adfee5ee45dcd00757262c5595d307c9e63aca8c7d05974606f9fbc1b2/Microsoft.VisualCpp.Tools.HostX64.TargetX64.vsix)

Interesting. You need to open it with an archiver (fine with 7-zip). This is apparently version 14:
  Microsoft (R) Macro Assembler (x64) Version 14.16.27045.0
  591280 bytes of 21.11.2020

I tested it with my 64-bit template: this version of ML64 seems to be utterly slow. Twenty seconds to assemble a Hello World is just too much. My standard version of ML64 (10.00.30319.01) does it in 700ms, UAsm does it in 400ms. AsmC is even a tick faster.
I think ml64 10.00 may not support latest Intel ISA as far as I know.
Title: Re: 64-bit MASM SDK
Post by: TimoVJL on November 02, 2021, 12:59:54 AM
Is this any better ?
:rofl:
Title: Re: 64-bit MASM SDK
Post by: jj2007 on November 02, 2021, 01:12:00 AM
Quote from: TimoVJL on November 02, 2021, 12:59:54 AM
Is this any better ?
VC.14.29.16.11.Tools.HostX86.TargetX64 (http://microsoft.vc.14.29.16.11.tools.hostx86.targetx64.base.vsix)

No luck: We can't connect to the server at microsoft.vc.14.29.16.11.tools.hostx86.targetx64.base.vsix.
Title: Re: 64-bit MASM SDK
Post by: Ravi Kiran on November 02, 2021, 01:17:41 AM
Quote from: TimoVJL on November 02, 2021, 12:59:54 AM
Is this any better ?
VC.14.29.16.11.Tools.HostX86.TargetX64 (http://microsoft.vc.14.29.16.11.tools.hostx86.targetx64.base.vsix)
This link is not opening in my Android  chrome browser. Server address not found. Sir plz post a valid link.
Title: Re: 64-bit MASM SDK
Post by: TimoVJL on November 02, 2021, 01:28:17 AM
It was copy/paste problem :sad:
Title: Re: 64-bit MASM SDK
Post by: jj2007 on November 02, 2021, 01:31:44 AM
Quote from: TimoVJL on November 02, 2021, 12:59:54 AM
Is this any better ?
VC.14.29.16.11.Tools.HostX86.TargetX64 (https://download.visualstudio.microsoft.com/download/pr/a5caea7c-7f6b-4d48-9b80-c77732421206/62abc41e56191faaa597d3cb32814199a874ff06092c8dfe5608a2c857065864/Microsoft.VC.14.29.16.11.Tools.HostX86.TargetX64.base.vsix)

Now ML64.exe works, and it's only about 40% slower than UAsm :thumbsup:

Version 14.29.30136.0 of 23.9.2021

@Ravi: This solves your problem. Download from Timo's link and open the file as an archive, e.g. with 7-Zip; then look inside for ML64.exe and its accompanying files (link.exe, DLLs, ...)

You may change the extension from *.vsix to *.zip to open it with another archiver.
Title: Re: 64-bit MASM SDK
Post by: Ravi Kiran on November 02, 2021, 01:54:01 AM
Quote from: jj2007 on November 02, 2021, 01:31:44 AM
Quote from: TimoVJL on November 02, 2021, 12:59:54 AM
Is this any better ?
VC.14.29.16.11.Tools.HostX86.TargetX64 (https://download.visualstudio.microsoft.com/download/pr/a5caea7c-7f6b-4d48-9b80-c77732421206/62abc41e56191faaa597d3cb32814199a874ff06092c8dfe5608a2c857065864/Microsoft.VC.14.29.16.11.Tools.HostX86.TargetX64.base.vsix)

Now ML64.exe works, and it's only about 40% slower than UAsm :thumbsup:

Version 14.29.30136.0 of 23.9.2021

@Ravi: This solves your problem. Download from Timo's link and open the file as an archive, e.g. with 7-Zip; then look inside for ML64.exe
Thank you sir
Title: Re: 64-bit MASM SDK
Post by: mineiro on November 02, 2021, 05:39:08 AM
Quote from: Ravi Kiran on November 02, 2021, 12:32:59 AM
UASM and AsmC assemble
Pure masm syntax or it's syntax is different? I've just downloaded it
Now from GitHub. Is it possible to link uasm assembled object files
With VS link.exe. I don't know much about cross assemblers and cross compilers.
Yes.
An assembler can create object files; linker will got that group of object files, check library files and create final executable in their respective format (.exe,.dll,.sys.ocx,... ).
From this point of view, you can use any assembler with respective lib/linker to create final executable.
Uasm/Asmc/Jwasm are macro assemblers based in masm/intel syntax/notation with a few modifications.
You told that you have some SDK's files/binaries in your machine, you can also use that.
Title: Re: 64-bit MASM SDK
Post by: Vortex on November 02, 2021, 05:54:50 AM
Hello,

Timo's suggestion is very good. The .vsix file offers the binaries including ml64 and the C\C++ compiler.
Title: Re: 64-bit MASM SDK
Post by: hutch-- on November 02, 2021, 10:09:02 AM
ravi,

Use the Host x86, Host x64 is very slow.
Title: Re: 64-bit MASM SDK
Post by: TimoVJL on November 02, 2021, 06:44:50 PM
speed depends version
in small test with 14.29.30136.0  0.123 / 0.93 x64 was winner.
Title: Re: 64-bit MASM SDK
Post by: hutch-- on November 02, 2021, 06:51:24 PM
Would be interesting to see what your test was. I have used ML64 for close on 5 years and the host 64 version has a bad lag where the 32 bit version does not.
Title: Re: 64-bit MASM SDK
Post by: TimoVJL on November 02, 2021, 07:21:02 PM
Here my test material

HostX64 (https://download.visualstudio.microsoft.com/download/pr/a5caea7c-7f6b-4d48-9b80-c77732421206/0fb4b5d0062098726080b3b577289af78b73495f815c62945397a486cc2f88bc/Microsoft.VC.14.29.16.11.Tools.HostX64.TargetX64.base.vsix)
Resources (https://download.visualstudio.microsoft.com/download/pr/a5caea7c-7f6b-4d48-9b80-c77732421206/b711da24edfecf68e18eafd7c3527a472e5d6a396c091ea911184f3baeb06320/Microsoft.VC.14.29.16.11.Tools.HostX64.TargetX64.Resources.base.enu.vsix)

EDIT: ml64.test.zip
Title: Re: 64-bit MASM SDK
Post by: hutch-- on November 02, 2021, 08:22:31 PM

14.29.30133

A:\ml64tst>_RunCmdTime.exe "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\Hostx86\x64\ml64.exe" -c DynDlgTest_x64.asm
'_RunCmdTime.exe' is not recognized as an internal or external command,
operable program or batch file.

A:\ml64tst>_RunCmdTime.exe "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\ml64.exe" -c DynDlgTest_x64.asm
'_RunCmdTime.exe' is not recognized as an internal or external command,
operable program or batch file.

A:\ml64tst>PAUSE
Press any key to continue . . .
Title: Re: 64-bit MASM SDK
Post by: TimoVJL on November 02, 2021, 08:30:45 PM
_RunCmdTime.exe should be in ml64_test.zip

EDIT:
using include \masm32\include64\masm64rt.inc in test, x64 version use odd additional 3 seconds, so better use of 32-bit host version.
Host-X64 don't like macros  :undecided:
Title: Re: 64-bit MASM SDK
Post by: hutch-- on November 02, 2021, 11:11:29 PM
This is what is in the zip file.

02/11/2021  07:18 PM               334 TestSpeeds_ml64.cmd
02/11/2021  11:09 PM               338 TestSpeeds_ml64.zip
               2 File(s)            672 bytes
               0 Dir(s)   8,353,693,696 bytes free
Title: Re: 64-bit MASM SDK
Post by: hutch-- on November 02, 2021, 11:28:42 PM
I just did the test on a 75k editor, host 32 version builds in under a second, host 64 version builds in about 10 seconds.

I did this test by copying both ML64 versions directly into the bin64 directory of MASM32.
Title: Re: 64-bit MASM SDK
Post by: morgot on November 17, 2021, 03:53:31 AM
hutch--,
but if I publish these files, to whom will Microsoft claim - to you (because you are forum owner) or to me? Because if to me, I don't care, I'm not afraid of Microsoft and Biden ))
Title: Re: 64-bit MASM SDK
Post by: hutch-- on November 17, 2021, 01:22:50 PM
Hi Morgot,

The 64 bit binaries belong to Microsoft and with their VS2019 tools, you can download them for free. If by "publish" you mean software that you write yourself, then its your to freely publish any where you like. What Microsoft would be unhappy about is if you distributed their binaries independently so the easiest way is for one person to download the build tools and share the complete download among friends, what you would not do is put them on the internet as a common download.
Title: Re: 64-bit MASM SDK
Post by: zedd151 on July 02, 2023, 09:07:14 PM
Thank you TimoVJL.   :rofl:

Quote from: TimoVJL on November 02, 2021, 12:59:54 AM
Is this any better ?
VC.14.29.16.11.Tools.HostX86.TargetX64 (https://download.visualstudio.microsoft.com/download/pr/a5caea7c-7f6b-4d48-9b80-c77732421206/62abc41e56191faaa597d3cb32814199a874ff06092c8dfe5608a2c857065864/Microsoft.VC.14.29.16.11.Tools.HostX86.TargetX64.base.vsix)

VC.14.29.16.11.Tools.Hostx86.Targetx64.Resources (https://download.visualstudio.microsoft.com/download/pr/a5caea7c-7f6b-4d48-9b80-c77732421206/051511d977d6180173c3e230b752c844911546971ff8aac98cb828dbb4c08f0b/Microsoft.VC.14.29.16.11.Tools.Hostx86.Targetx64.Resources.base.enu.vsix)
Those works well with Microsoft Visual C++ 2015-2019 Redistributable (x86) Just tested this again on a fresh Windows 7 64 bit install....  :biggrin:   

I found TimoVJL's 'missing' links on the Wayback Machine.