News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

win64.inc

Started by jimg, July 26, 2018, 01:08:27 AM

Previous topic - Next topic

jimg

I had decided I would ignore all the 64bit stuff, but I recently wanted to try one of the recent register tests.
When I tried to assemble using uasm64, I got a ton of errors from the Hutch's win64.inc, and some other of his new 64 bit include files.
If I want to get uasm64 working with masm64rt.inc, what is the procedure?

Vortex

I think you should use WinInc with UASM :

http://www.terraspace.co.uk/uasm.html

jimg

Have you ever seen anyone post anything here using wininc?  I'm trying to be a little compatible here so if I have to post code, the majority of people could try it out.  At the same time ml64 is crazy so I want to use uasm.  Have we parted ways permanently now?

Vortex

Hi jimg,

Some examples :

http://masm32.com/board/index.php?topic=6576.0
http://masm32.com/board/index.php?topic=6721.0
http://masm32.com/board/index.php?topic=2637.0
http://masm32.com/board/index.php?topic=6617.0
http://masm32.com/board/index.php?topic=2454.0

wininc is a nice work. Created first by Japheth, it's now maintained by habran and johnsa.

hutch--

Jim,

You use include files that are compatible with the assembler you are using, the "masm64rt.inc" is designed to work with 64 bit MASM, to use UASM or any of the earlier versions of the Watcom forks, you need to use the include files that are designed for those assemblers.

jimg

 :(  Well, since I'm not giving up on the Masm32 project or Uasm,  I'll just give up on 64bit and be happy.

hutch--

Jim,

You don't have to do that, 64 bit is the future, its just that for any system, UASM or MASM it takes time to get it all written and working reliably.

Vortex

Hi jimg,

Please don't give up on 64-bit. All the include file sets are the products of big efforts. You can try and enjoy all the 64-bit versions of Asmc,Masm and Uasm.

johnsa

Definitely don't give up on 64bit.. if you do, you might as well give up Assembler :) Assembler is there to exploit all the latest and greatest features and ring every last bit of performance out of the machine, to remain in 32bit at this point in time is crippling yourself performance and feature wise.. where even Javascript and .NET in 64bit will out perform your best 32 bit attempts... now I shall be flamed by all the pro-32bit people :)

IMHO, I don't even consider 32bit in asm anymore, unless it's maintaining some old 32bit library I wouldn't even bother going forward. 64bit only.

zedd151

Quote from: johnsa on July 30, 2018, 08:05:43 PM
now I shall be flamed by all the pro-32bit people :)

:P

hutch--

John is right, 32 bit is yesteryear and while you can produce some very good code with it, stretch the memory limit with /LARGEADDRESSAWARE and apply every trick in the book, 64 bit with /LARGEADDRESSAWARE enabled is the future, massive memory, twice as many registers and some real performance if you write it correctly. With the extra registers, algorithms got simpler and faster as you could avoid locals and stack overhead. It is not without its quirks in the way Microsoft implemented it, you cannot write a 64 bit immediate to a memory operand but you can if you pass it through a register but its not hard to get around such things.

jj2007

Quote from: johnsa on July 30, 2018, 08:05:43 PMto remain in 32bit at this point in time is crippling yourself performance and feature wise..

Can you post a real life example where the 64-bit version is significantly faster?  ;)

aw27

Quote from: johnsa on July 30, 2018, 08:05:43 PM
... now I shall be flamed by all the pro-32bit people :)
It is normal, dinosaurs are not able to learn new competences.  :idea:
All they do is try to play smart despising innovation. All so dèja vu, thousands of times in History of Mankind.

hutch--

> Can you post a real life example where the 64-bit version is significantly faster?

Yeah, allocate 16 gig of memory and scan through it. Try something that can use a lot of registers.

HSE

Quote from: johnsa on July 30, 2018, 08:05:43 PMin 64bit will out perform your best 32 bit attempts... now I shall be flamed by all the pro-32bit people :)

I think that discussion have his place 2 years ago. Today, several asm systems have evolved a lot: Vasily (with Mikl examples), masm64, asmc64, uasm64, objasm64. And for sure more progress is expected. Now you use 32 bit asm if you have a 32 bit machine running (or some specific library), but if you have a 64bit machine there is few excuses.
Equations in Assembly: SmplMath