I really don't know. MASM is a 32-bit application that should run on 64-bit windows. MASM has a powerful macro language and early versions of MASM used macro include files to build new instruction sets. So building an OBJ that can be linked to a 64-bit C application seems feasable. Also using 64-bit vs 32-bit vs 16-bit instructions are merely a mode switch. In fact you can use 32-bit register operations on a 16-bit application provided the processor is 32-bit.
For example, using MASM32 to code on multicore machines? What differences do you have to be aware of?
You can compile code with a 32 bit assembler, and it will run on 64 bit machines, but the code produced will obviously only make use of 32 bit registers. How many cores a processor has is not something an applications programmer needs to worry about. Which core(s) a program gets to run upon is something the operating system decides.
I really don't know. MASM is a 32-bit application that should run on 64-bit windows.
If you had a deep enough pocket to go and and buy the professional version of Visual Studio, you would discover that the current version of MASM is 64 bit. (There is also a 32 bit version which can optionally produce either 32 bit or 64 bit code.)