win32汇编-Win32可执行文件的编译过程

 

 

 

MASM32_SDKv10r

下载:

链接:https://pan.baidu.com/s/1095X2t6rWV6aqDryBOuPjA
提取码:6666  

 

安装: 

1.

 自动安装到masm32文件夹

 

编译过程

方法一:利用qeditor.exe

安装之后桌面会有一个,就是qeditor.exe

可以建立、汇编、链接源程序文件和运行生成的可执行文件

1.创建文件

输入代码:

.386
.model flat, stdcall
option casemap :none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib
.data
HelloWorld db "Hello World!", 0
.code
start:
invoke MessageBox, NULL, addr HelloWorld, addr HelloWorld, MB_OK
invoke ExitProcess, 0
end start

先不用理解代码的含义,目的是了解编译过程

保存为asm文件

 

2.编译为obj文件

 

 3.链接为执行文件

 

 4.双击执行

 

方法二: 完全手动--麻烦

1.设置环境变量

 注意:设置完毕需要重启电脑

2.编译成obj文件

管理员运行cmd

进入asm所在的文件夹

指令:

ml /c /coff /Cp 1.asm

 

 

 

 

2.利用vc6.0创建资源

文件-->新建-->

 

 

 

 文件-->另存为-->

   

 

 

3.链接成执行文件

指令:

link /subsystem:windows 1.obj zy.res

 

 

方法三:利用nmake

nmake下载: 

链接:https://pan.baidu.com/s/1UKlxsXGPOsZK1AW0htSsJw
提取码:6666

Makefile下载:

链接:https://pan.baidu.com/s/1WrvHU6zcpk3SDYdyi1sSUg
提取码:6666

把这两个文件放到asm所在的文件夹

修改Makefile

 

 

方法四:利用VS2019MFC 

 

int result = 0;
int MyFunction()
{
    __asm
    {
        mov eax, 10
        add eax, 20
        mov result, eax
            
    }
    return result;
}
void ChbDlg::OnBnClickedButton1()
{
    // TODO: 在此添加控件通知处理程序代码

    int n=MyFunction();


}

 

方法五--VS2019纯汇编-推荐 

1.用VS2019创建空项目

 2.生成依赖项

 

 3.添加asm文件

 

 

 

 

4.测试

输入以下代码进行测试

.386
.model flat,stdcall
.stack 4096
ExitProcess PROTO,dwExitCode:DWORD

.data


.code
main PROC
    

    INVOKE ExitProcess,0
main ENDP
END  main

5.安装高亮插件

菜单栏中的"扩展"->"管理扩展",弹出管理扩展窗口。

单击左侧"联机",在右侧"搜索"框中输入"asm",稍等一下,包含"asm"关键字的插件就显示出来了,我们选择第一个"AsmDude"进行安装。"AsmDude"下载完成后,我们需要关闭Visual Studio,这时"AsmDude"会开始进行安装,当"AsmDude"提示安装完成后,我们再打开"Visual Studio",代码就可以高亮显示了

 

6.下载和安装MASM32_SDKv10r

看上边

 

7.添加lib库路径:

D:\masm32\lib;

 

8.添加include路径

D:\masm32\include;

 

9.修改MSVC版本

原因和修改方法看:https://blog.csdn.net/zhanghaishan/article/details/111201645

 

 

6.实例工程下载

链接:https://pan.baidu.com/s/1rl50f4zoI7sqk_CIODOt1A
提取码:6666

 

 

 

 

 

 

posted @ 2023-10-06 09:55  天子骄龙  阅读(85)  评论(0编辑  收藏  举报