On Apr 27, 8:29 am, Le Chaud Lapin <jaibudu...@[EMAIL PROTECTED]
> wrote:
> There seems to be some kind of strange interaction between the
> preprocessor and the inline-assembly lexical analyzer.
It's strange in the sense that it refuses to accept my _erroneous_
code. :D
After reading the documentation and being reminded of the im****tant
fact that multi-line macros are coalesced into one line for the
tokenizer, all makes sense, and now it is working, afer correcting the
following buggy code:
#define MULTIPLY(A, B, lower_word, upper_word)\ /* <<< The __asm
keyword needs to be added here. */
{\
_asm mov eax, A;\
_asm mul B;\
_asm mov upper_word, edx;\
_asm mov lower_word, eax;\
}
The semicolons should be removed.
I should use __asm instead of _asm.
Comments are still welcomed for other compilers. I would be interested
in knowing the likelihood of encountering an obstinate compiler, one
that sup****ts __asm, but refuses macro-generated __asm constructs.
-Le Chaud Lapin-
--
[ See http://www.gotw.ca/resources/clcm.htm
for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]


|