News:

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

Main Menu

Assembler mistake: CALL vs INVOKE

Started by NoCforMe, September 12, 2022, 06:47:54 AM

Previous topic - Next topic

hutch--

After years of prototyping in both MASM and other languages, I am so glad I am free from it at last. I have an infallible method of type and size checking, RTFM with API code and RTFM for Intel mnemonics. Now fortunately Windows is a very effective debugger, if you phuk it up, it says nasty insulting things to you and more often than not, it tells you why, especially if you use the last error mechanism.

As far as Intel mnemonics, MASM will generally refuse to build an executable if there is any incompatible mnemonic usage. MASM in 64 bit is a bad mannered, cantankerous, agricultural tool for screwing mnemonics together and all of these "features" mean that it is an assembler, not a pseudo compiler.

What the assumption is here is the suitability for newbies which is extremely low. Folks who are fluent in 32 bit MASM can make the transition by understanding the technical differences and a bit of practice but MASM was never entry level programming.

If you think 64 bit MASM is untidy, spare a though for those of us who started with ML.EXE in 1997, no documentation, no example code, a history of HLL morons claiming that assembler was unwritable and claims from the vendor that MASM was going to be phased out.

Most had NDA agreements apart from Iczelion and myself, mine had run out. His assembler was more up to date than my MS-DOS asm but I had the mileage in API and architecture and with many other folks, we got it going to the chagrin of many of the HLL brigade.

The rest is history.

NoCforMe

Quote from: hutch-- on September 13, 2022, 12:31:57 PM
I have an infallible method of type and size checking, RTFM with API code [...]

This leads me to give at least backhanded praise of MSDN documentation. It may be infuriatingly scanty, missing large chunks and occasionally even just plain wrong. But without it I would never be able to write what code I can. If you dig long and deep enough, you'll find every function call, every structure, every message, every constant, unburdened by C++ obscuring. So hats off to Micro$oft for at least trying, and for (inadvertently) helping us oddballs write Windows programs in assembly language.
Assembly language programming should be fun. That's why I do it.

daydreamer

I also want to thank for ichelion,Hutch for the patience to translate all .h files and get masm32 package to work
I agree on noCforMe thanks MS on MSDN documents
spent much time to get better at GUI lately
and if your Boss gives you order make a HLL windows GUI program,that 32bit winapi or 64bit winabi experience are very useful
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