I think this is the place to put suggestions to developer.
I never have see this type of "macro" in any assembler, so this is my point of view.
The point is: Modular macro
This way we (users) don't need ask for a new feature, like invoke macro not supported on others O.S., calling convention, output format, ABI, etcetera.
We only need access the macro on source code being assembled using assembly language as a macro, the best language to a macro.
So, you can create an environment to user modular macro land, you can dispose internal hjwasm functions to speedup macro code (strlen, assemble, ...).
When assembler trigger invoke modular macro, it create an environment to user (will pass the text) and assemble macro and execute macro on runtime.
So, user have a supposed pointer to start of modular macro (user will only deal with text (source code), nothing more), in this scenario the pointer to letter "i" of invoke, but their modular macro is assembled on runtime or by using a module (you can create your own filetype and environment).
this way, he can create more flexible and portable code, and can too agregate instructions of others microcontrolers,processors while maintaining compatibility with hjwasm syntax.
An pseudo example of invoke macro.
invoke function,1,2,3
So, the macro can be, just a noob perspective from now:
invoke modular macro
assume si|esi|rsi: ptr macro name ;your environment here
;below is the assembly macro module that will be called by hjwasm
mov ax|eax|rax,si|esi|rsi ;let's calculate the size of something
.while byte ptr [si|esi|rsi] != " " || byte ptr [si|esi|rsi] != 09h ;searching for space or tabs
inc si|esi|rsi
.endw
;we reached function name easily, using assembly language.
I think anyone on this board understood this macro and know how much powerfull it can be. So, we need a way to insert "assembly instruction strings" into source code being assembled.
Of course, I know this can reach big problems, like memory faults, ilegal instructions strings, many initial errors, but this is user fault, not developer fault.
This way many persons here can create macros by their own way and add that to your assembler as a preloaded module when it gets mature.
So, we don't need be a International Master with hjwasm macros to develop International module macros. Well, I think I will only use these types of macro if you develop them.