While looking through the listings of the ObjAsm32\Projects folder, I noticed  these parameters given for a macro:
<!!= NULL>

<!!= FALSE>

If I understand macro parameters correctly, the text inside the angle brackets will replace the param name inside the macro.
The param name is SuccessCond, and the line of code it is used in the macro is:
 .if eax SuccessCond

If <!!= NULL> is given as a parameter value for SuccessCond, the above line of code should evaluate to :
 .if eax !!= NULL

My question is what is "!!="?
Is it "not not equal"?
If so, wouldn't that be the same as "=="(equal)?
Posted on 2006-06-11 07:56:42 by rags
Try removing one of the "!", and masm will scream.
"!" in masm needs caution like "\" in C, when playing with macros/textequ's.

this !!=  gets transformed to !=
Posted on 2006-06-11 08:13:53 by Ultrano
masm's macro language contains a variety of such 'special characters' which leads to the development of exceedingly unreadable sourcecode.
I've been using the stuff for years and I'm far from being 'expert'.
In fact, I'm not sure anyone on the planet qualifies!
Posted on 2006-06-11 11:39:57 by Homer
Thanks for the explanations Ultrano and Homer! I appreciate the clarification. :)
Posted on 2006-06-11 16:28:12 by rags