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