win32汇编hello world

Posted NONE

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了win32汇编hello world相关的知识,希望对你有一定的参考价值。

下载:http://www.masm32.com/

安装masm32

 建一个Var.bat文件并运行

@echo off
set include=E:\masm32\include
set lib=E:\masm32\lib
set path=E:\masm32\bin;%path%
echo on

 

test.asm程序源文件放置于E:\Source\test下

.386
.model flat,stdcall
option casemap:none
;include文件
include     windows.inc
include     user32.inc
includelib  user32.lib
include     kernel32.inc
includelib  kernel32.lib
;数据段
.data
szCaption  db MessageBox!,0
szText       db Hello,World!,0
;代码段
.code
start:
invoke  MessageBox,NULL,           offset szText,           offset szCaption,           MB_OK
invoke  ExitProcess,NULL
end start

dos下运行

ml /c /coff 1.asm(编译)
link /subsystem:windows 1.obj(链接)   命令

出现错误

技术分享

缺少user32.lib

直接VC下lib目录下文件全拷贝到masm32的lib目录下

 

技术分享

 运行生成的exe文件:

技术分享

以上是关于win32汇编hello world的主要内容,如果未能解决你的问题,请参考以下文章

汇编语言hello world

mac的汇编代码(NASM)-hello world

Hello World

自制操作系统-使用汇编显示 hello world

“呼叫 0x80482f0 <puts@plt>”?只需要澄清 x86 汇编中“hello world”程序中的一行代码

hello.equals(hello)的代码值是多少?