La sola cosa che ti posso dire è che nel file .h devi definire la funzione come:
// disabilita il name mangling del C++
extern "C" {
// qui tutti i prototipi delle funzioni ASM
int __cdecl MyFunction(int);
}
Mentre nel file ASM, dopo tutti i preamboli, dovresti avere (copiando da un esempio):
_MyFunction proc
...
_MyFunction endp
(in sintassi MASM almeno, il NASM si interfaccia in altro modo.)
Ma qui mi fermo perché non è più il mio campo.
Eventualmente dai un'occhiata ai sorgenti ASM che dovresti avere in Programmi\Microsoft Visual Studio 11.0\VC\crt\intel
il file cruntime.inc è un livello superiore mentre gli altri .inc che dovresti trovare nei vari .ASM, boh.
Good Luck