use ASM and CPP together

    技术2022-05-11  85

    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  

    最新回复(0)