Calling C++ Functions in Inline Assembly
__asm block can call only global C++ functions that are not overloaded. If you call an overloaded global C++ function or a C++ member function, the compiler issues an error.
You can also call any functions declared with extern "C" linkage. This allows an
__asm block within a C++ program to call the C library functions, because all the standard header files declare the library functions to have extern "C" linkage.
END Microsoft Specific