You are another person asking about this: https://github.com/z00m128/sjasmplus/issues/257
it's by design, macro arguments are similar to DEFINE, so they are substituted in raw text of line before parser starts parsing it as assembly, they are similar to C preprocessor stage. And the substitution is looking only for full name of macro argument/define, or for sub-word delimited by underscore `_`. Sub-words delimited by dot are not considered.
I'm considering to add substitution operator `_` to concatenate two sides during preprocessing step, so `Name2 _ .SomeAddr` would be then possible (at least one side of `_` would have to be actual define or macro argument name, otherwise the `_` would be considered regular char, so `ld hl,_` would still work as before, looking for symbol `_`. But I haven't even started with such enhancement.
Meanwhile there is new release, v1.21.0:
https://github.com/z00m128/sjasmplus...es/tag/v1.21.0
- - - Updated - - -
Biland: but I'm a bit confused what do you need it for, I would expect such need to be rare and there is maybe some other way how to write your source to get desired result with reasonable simplicity, if you want to share bigger example of your problem and why you want macro like that, maybe I can propose some different way how to write the code with what sjasmplus offers (already now, without waiting for future enhancements).




Ответить с цитированием