遥想当年,上学期间,汇编程序,从未成功。今又试之,终成功,遂记录。

Hello.asm文件如下:

 .
.model flat,stdcall
option casemap:none include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib .data
szCaption db 'A MessageBox !',
szText db 'Hello, World !', .code
start:
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK
invoke ExitProcess,NULL end start

cmd运行结果如下:

win10开启我的第一个32位汇编程序-LMLPHP

ml 为汇编编译器,生成hello.obj文件,然后执行 link,最终生成hello.exe文件

win10 64位上如何搭建环境?

1、安装masm32,从官网下载 http://www.masm32.com/

添加环境变量:

win10开启我的第一个32位汇编程序-LMLPHP

path:

win10开启我的第一个32位汇编程序-LMLPHP

2、vs2017中,安装c++桌面程序,包含汇编 ml.exe 等工具,把ml.exe拷贝到masm32\bin下面

注意  ml.exe的路径:Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x86

如果选择Hostx64\x86下面的,汇编编译时总会报错:statement  too complex

3、masm32自带的编辑器,号称IDE,不可用

4、以上是手动用命令执行,也可以在vs2017中执行汇编程序,需要配置,可参考 http://www.asmirvine.com/gettingStartedVS2017/index.htm,也可从github上下载:https://github.com/wangqiang3311/assembly.git

注意从网上下载Irvine,里面含有link工具

05-27 01:47