|| Play Around With Visual Studio And ASM ||

;Disclaimer ; --------- ;THIS CODE IS MEANT FOR EDUCATIONAL PURPOSES ONLY. THE AUTHOR CANNOT BE HELD RESPONSIBLE FOR ANY ;DAMAGE CAUSED DUE TO USE, MISUSE OR INABILITY TO USE THE SAME ; ;Author: lclee_vx ;Group : F-13 Labs ;Web : http://f13.host.sk ;Email : lclee_vx@yahoo.com ;Credit : Google

 

1. This is the note how to compile the *.asm program as *.obj and compile with the C program

2. Tools you need:
a. Visual Studio 2003

b. tasm32

c. masm32

3. Compile the "masm.asm" [Download]with masm compiler, use the following command:

#c:\masm32\bin\ml.exe /nologo /coff /Zf /c /Sa masm.asm
4. Create the Visual Studio project: File --> New --> Project --> Project Types:Visual C++ Project:Win32:Win32 Console --> Project Name: Hello World --> Application Settings:Additional options:Empty project
5. Move the "masm.obj" [Download] file to the project directory, then in Visual Studio Project menu, right click "Source Files" -->Add Existing Item -->

    Select "masm.obj":Files of type "All Files"
6. In Visual Studio Project menu, right click "Source Files" --> Add Existing Item --> Select "vcasm.cpp" [Download]
7. Compile the project solution. Yes, success

 

But it won't success if you compile the *.asm file with tasm32. Its because of the *.obj for tasm32 is OMF, not COFF. [Google for details]. But I familiar with tasm32 and I like it. hehehe, let me play around with *.obj file.

1. Try to reverse engine the *.obj file compile with masm32 and tasm32.
2. ok..the different is the function call. I add "_function@8"with every functions in *.asm file. [View the Screenshot]

3. compile the file "tasm_coff.asm" [Download]with tasm32:

#tasm32 /ml /m3 tasm_coff.asm

4. copy the "tasm_coff.obj" [Download]into the project directory and follow the same procedure as above

5. Success compile the project solution. ^-^!!