and why A macro function must first convert a numeric value such as a constant, a numeric equate, or the result of a numeric expression before returning it?
Posted on 2008-09-26 08:49:19 by qlmi
Because a macro is not interpreted until it has "expanded".

Imagine that a macro produces more plaintext sourcecode that can only be interpreted once it has been completely expanded.

First the assembler executes the macro, which emits a series of lines of sourcecode that you COULD have written yourself, then it finally interprets that sourcecode, and then it emits the machinecode.

Posted on 2008-09-26 10:48:10 by Homer