遥想当年,上学期间,汇编程序,从未成功。今又试之,终成功,遂记录。
Hello.asm文件如下:
1 .386 2 .model flat,stdcall 3 option casemap:none 4 5 include windows.inc 6 include user32.inc 7 includelib user32.lib 8 include kernel32.inc 9 includelib kernel32.lib 10 11 .data 12 szCaption db 'A MessageBox !',0 13 szText db 'Hello, World !',0 14 15 .code 16 start: 17 invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK 18 invoke ExitProcess,NULL 19 20 end start
cmd运行结果如下:
ml 为汇编编译器,生成hello.obj文件,然后执行 link,最终生成hello.exe文件
win10 64位上如何搭建环境?
1、安装masm32,从官网下载 http://www.masm32.com/
添加环境变量:
path:
2、vs2017中,安装c++桌面程序,包含汇编 ml.exe 等工具,把ml.exe拷贝到masm32in下面
注意 ml.exe的路径:Microsoft Visual Studio2017EnterpriseVCToolsMSVC14.16.27023inHostx86x86
如果选择Hostx64x86下面的,汇编编译时总会报错:statement too complex
3、masm32自带的编辑器,号称IDE,不可用
4、以上是手动用命令执行,也可以在vs2017中执行汇编程序,需要配置,可参考 http://www.asmirvine.com/gettingStartedVS2017/index.htm,也可从github上下载:https://github.com/wangqiang3311/assembly.git
注意从网上下载Irvine,里面含有link工具