News:

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

Main Menu

A few questions before I embark on learning a high-performance language

Started by ExMVS, March 24, 2021, 01:20:35 AM

Previous topic - Next topic

ExMVS

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?

  • Can MASM32 do everything in windows programming on the Windows platform that a modern language like Visual C# with a framework like WPF (or even C++ with Qt) can do?
  • Do Microsoft still make all the newer APIs available to C / MASM32 calls? Or am I going to be restricted to the old Win32 API from the Pezold days?
  • Why are we still talking about MASM32 when we should be only about MASM64 now?

Thanks in advance.

jj2007

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.

Welcome to the Forum :thup:

hutch--

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.

Gunther

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
You have to know the facts before you can distort them.

daydreamer

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
my none asm creations
https://masm32.com/board/index.php?topic=6937.msg74303#msg74303
I am an Invoker
"An Invoker is a mage who specializes in the manipulation of raw and elemental energies."
Like SIMD coding