
Сообщение от
NEO SPECTRUMAN
а на каком pass-е уже будет результат?
так как полученные цифры еще будут передаваться lua для расчета таблиц
Macros are like "includes", expanded upon instance in every pass (becoming part of source). Notice how inside my example macro "CN=CN+(cycles?)" -> the argument is in parentheses - that's because the macro arguments are substituted in C-preprocessor way, substituting the strings, doing the value evaluation as last step after all substitutions, so without parentheses the usage `countT (26-CN+3)&-4` does expand to `CN=CN+(26-CN+3)&-4` which will evaluate to different result as `CN=CN+((26-CN+3)&-4)`! So it's similar landmine field like C #defines ... 
But the value of symbol CN is updated in every pass, just as if you would do the CN=CN+4 at beginning of line (but it happens after instruction, because macro is expanded after instruction).
---------------
listing disabling:
http://z00m128.github.io/sjasmplus/d...on.html#po_opt
Код:
OPT push listoff ; preserve current state of listing, and switch listing off
; some code without listing (only marked by "# listing disabled" and "# listing enabled" lines in listing)
...
OPT pop ; restore the listing to original state
(the disabling/enabling of listing is announced in the listing file, so this shortens listing for blocks of code, for single line this will explode listing even more)
the OPT state can be push/pop-ed, so you can even nest these in includes/etc... if the top level has listing enabled, and it will go through multiple nested blocks having this switch off, then the first will switch listing off, nested ones will make no visible change, and the final last `opt pop` will restore listing back to "on".
Similarly if you are doing sjasmplus library to be included as source code, and you want customize the syntax, but you don't want to affect project which is including your source, you can do `OPT push reset --syntax=aBf` to have your source going by these rules, then `OPT pop` at end of your library to restore the syntax of original project...
Sorry for spamming you with this info you didn't ask for, but I'm kinda proud of the OPT design... :P