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