On 09/24/2015 08:53 PM, Eric Smith wrote:
Yes, though the syntax for the addressing modes would have to be non-standard, unless the macro assembler had really good string mangling capabilities for macro arguments. Same general problem as trying to define macros to assemble for the 6502, which has addressing modes like "(FOO)", "(FOO,X)" and "(FOO),Y", where the parenthesis, comma, and "X" or "Y" are all part of the addressing mode designation. A typical macro assembler will force the "Y" in the third example to be a separate macro argument, unless some form of argument quoting is used, and most assemblers will automatically evaluate the parenthesized expression and discard the parenthesis, again, unless some quoting is used.
Hmmm, I thought ASM89 used brackets for indicating addressing modes. Regardless, take a look at Microsoft ML assembler (6.xx) macros. You can indeed manipulate arguments character-by-character.
--Chuck
