BananaMilk

导航

 

第一步肯定是要先在机器上装编译工具了,用MASM32编译器。

官网http://www.masm32.com/

下载的是masm32v11r,开始安装,安装目录选的是D盘。

正常安装一路OK点下来。

出来一个这种框,点了YES

结果脚本运行错误,嘛,不管了。

安装完看了下安装目录下,ml.exe在bin目录里边。

然后写一个简单的程序试一下,弹出一个MessageBox的小窗口

 1 .386
 2 .model flat,stdcall
 3 option casemap:none
 4 include \masm32\include\windows.inc
 5 include \masm32\include\kernel32.inc
 6 include \masm32\lib\kernel32.lib
 7 include \masm32\include\user32.inc
 8 include \masm32\lib\user32.lib
 9 
10 .data
11 MsgBoxCaption   db "Caption",0
12 MsgBoxText      db "Great!",0
13 
14 .code
15 start:
16 invoke MessageBox, NULL, addr MsgBoxText, addr MsgBoxCaption, MB_OK
17 invoke ExitProcess, NULL
18 end start

编译了一下,没通过,都是提示的lib错误。

仔细看了一下,include的部分写错了,在包含lib的时候应该用includelib

这是修改后

.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\kernel32.lib
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib

.data
MsgBoxCaption   db "Caption",0
MsgBoxText      db "Great!",0

.code
start:
invoke MessageBox, NULL, addr MsgBoxText, addr MsgBoxCaption, MB_OK
invoke ExitProcess, NULL
end start

然后使用ml编译,link连接

ml /c /coff /Cp MsgBox.asm
link /SUBSYSTEM:WINDOWS MsgBox.obj

正确生成了MSgBox.exe可以运行。

 

 

 

posted on 2014-04-16 22:10  BananaMilk  阅读(154)  评论(0)    收藏  举报