搭建windows下汇编学习环境
MASM32是一个不错的汇编IDE,但是里面的ml.exe和link.exe太老了。于是我直接用了visual studio 2019里面带的ml.exe和link.exe。
既然学汇编了,使用IDE不方便,还不如直接在cmd窗口操作,
首先安装MASM32和visual studio 2019,然后在计算机环境变量里面,添加环境变量,
include变量是masm32文件夹里面include头文件的位置,
lib变量是变量是masm32文件夹里面lib文件的位置,
编译和链接的时候,ml.exe和link.exe需要找到这些文件的位置。
Path里面添加visual studio 2019里面,x86文件夹里面ml.exe和link.exe文件的位置。
环境变量设置完成后,就可以在CMD窗口里面使用ml命令编译汇编文件,使用link来链接文件。
不知道为什么lib变量设置后没有生效,在link的时候仍然需要手动指定lib文件的位置。
.386 .model flat, stdcall option casemap:none include windows.inc include user32.inc include kernel32.inc includelib user32.lib includelib kernel32.lib .data szCaption db 'Duke56',0 szText db 'Hello World!',0 .code start: invoke MessageBox,\ ; 调用函数名 NULL,\ ; 父窗口句柄 offset szText,\ ; 文字 offset szCaption,\ ; 标题 MB_OK ; 按钮类型 invoke ExitProcess, NULL end start
以上代码使用记事本等保存为test.asm文件。
然后在CMD窗口中,进入test.asm文件的目录,
使用"ml /c /coff test.asm"编译test.asm成test.obj文件,
再使用"link /subsystem:windows /libpath:e:\masm32\lib test.obj",
链接后成为test.exe文件。