The MASM Forum

General => The Campus => Topic started by: ExMVS on March 24, 2021, 01:20:35 AM

Title: A few questions before I embark on learning a high-performance language
Post by: ExMVS on March 24, 2021, 01:20:35 AM
Hi all,
Many decades ago I knew IBM mainframe assembly language. Now that I have more time in my hand, I'd like to learn a low-level, high-performance windows progarmming language, and it's gonna be either C++ or MASM.

Obviously MASM is more challenging in the sense that it's as far away from the mainstream as it can be, and resources are scarce while C++ is everywhere, and MASM would be limited to Windows while you can use cross-platform GUI libraries like Qt with C++.

So before I take the decision that will decide my next 5 years  :smiley:, please could you answer the following questions?

Thanks in advance.
Title: Re: A few questions before I embark on learning a high-performance language
Post by: jj2007 on March 24, 2021, 01:48:16 AM
Hi ExMVS,

Short answers:
1. Yes.
2. Yes.
3. From 16- to 32-bit was a giant leap in terms of speed, memory and easiness of use, but don't expect giant improvements from 64-bit code - unless you regularly need to deal with multi-gigabyte files and their memory requirements. Plus, the learning curve is steep.

To get started, have a look at this 2-pager (http://www.jj2007.eu/Masm32_Tips_Tricks_and_Traps.htm).

Welcome to the Forum :thup:
Title: Re: A few questions before I embark on learning a high-performance language
Post by: hutch-- on March 24, 2021, 02:13:46 AM
Hi Ex,

Depends on what you want to do, there are plenty of viual garbage generators out there. People mention 32 bit MASM because its well understood and still very useful, 64 bit MASM is the future but the additional complexity is an eye opener, I have about 4 years of working on 64 bit MASM and once you get the swing of it, its very powerful and when written correctly, genuinely fast.

If you want cross platform, an assembler is not for you but for Windows and Linux there are assemblers that do the job. Really depends on what you want to do, if you are writing C/C++ in Windows, MASM is supplied with it in both 32 and 64 bit as the 64 bit C compiler no longer supports inline assembler.
Title: Re: A few questions before I embark on learning a high-performance language
Post by: Gunther on March 24, 2021, 02:48:24 AM
ExMVS,

welcome on board.

As Steve (aka Hutch) mentioned, 64 bit is the future. It's not just about large files, register pressure is also much lower.

Of course, ml64 can only be used on Windows, but there are alternatives (JWASM, AsmC, NASM, GAS) that can also be used on other operating systems (BSD, Linux, MacOS).

Gunther
Title: Re: A few questions before I embark on learning a high-performance language
Post by: daydreamer on March 24, 2021, 05:42:04 AM
Welcome to forum Ex  :thumbsup:
Masm32 /masm 64 packages come with several help files,examples,tutorials and you can search forum for question or getting stuck post questions here
search c++ winapi is good,because macros like invoke helps you use those functions