use ASM and CPP together:
1. create an ASM file
;;;;;;;;;;;;; asmsrc.asm:
.386
.model flat, stdcall
option casemap :none
.code
myasmproc proc dw1:DWORD,dw2:DWORD
mov eax,dw1
add eax,dw2
ret
myasmproc endp
end
;;;;;;;;;;;;end of asmsrc.asm
2. create a VC project name: useasm, type console application, A "Hello World " application
3. move the asm file to your project directory, then in VC project menu-> Add to Project...-> Files...
Files of type change to "all files ", then you can select the asmsrc.asm, and click OK
4.in workspace window, FileView tab, select asmsrc.asm, right click to select "settings... " menu, custom build tab, put the following in commands edit box :
d:/masm32/bin/ml.exe /nologo /coff /Zf /c /Sa $(InputName).asm
put the following in Outputs edit box:
$(InputName).obj
5.edit your useasm.cpp as the following:
//////////////////////useasm.cpp///////////////////////////////
#include "stdafx.h "
#include <windows.h>
extern "C " int __stdcall myasmproc(DWORD d1,DWORD d2);
int main(int argc, char* argv[])
{
printf( "test of using cpp and asm together, if it works, it is done by masterz,otherwise I don 't know who write this^_^/n ");
int ret=myasmproc(22,33);
printf( "ASM result:%d/n ",ret);
return 0;
}
//////////////////////end of useasm.cpp///////////////////////////////
6. build the project and run it, it works.
notes: I assume you have installed masm32V8(you can get it from http://www.movsd.com/masmdl.htm) at D:/masm32