
The masm64 project is a set of macros, not an assembler. It includes among other things an INVOKE macro that loads arguments from left-to-right. The question is then where does this idea come from?
Most likely the answer is JWasm which was the first assembler (as far as I know) with a 64-bit INVOKE directive
The 1990 version of MASM was the first assembler to use "invoke" and it was then 16 bit, 1997 MASM was 32 bit, the much later Watcom derivatives have simply tried to ape 1990 MASM. JWASM in 64 bit was broken and it did not properly comply with the Intel ABI.
The masm64 project uses 64 bit MASM which is a MACRO assembler using much the same pre-processor as the old 16 bit version. Now it is obvious that you don't know much about it as it contains its own format include files, a matching set of IMPORT libraries, its own STATIC library and matching include file and its own set of pre-processor macros that provide a range of stackframe designs, a procedure calling macro that "invoke" is a wrapper to, a lower overhead technique to call procedures and API functions using up to the first 4 registers.
> that loads arguments from left-to-right.
The Windows x64 ABI does not have a load order, it uses the first 4 registers then WRITES arguments to sequential addresses on the stack. You can write them in any order you like as long as you write them in the correct sequence. What you are assuming is out of date 32 bit MASM technology of STDCALL push/call technology.
Attempting to re-write history on the basis of yet another warmed over Watcom derivative is nonsense. Differing from the Watcom derivatives, 64 bit MASM using its own MACRO assembler capacity and is already application ready and produces reliable working 64 bit applications, not little test pieces.