验证程序,步骤如下:
1.打开VS2013,创建一个空项目
2.创建空项目masm_example之后,打开以下:
3.选择自定义项文件为masm
4.打开配置属性项
5.选择子系统为控制台
6.微软宏汇编配置
7.创建文件
8.编写代码:
.386 //指令集
.model flat,stdcall //存储模式,平坦内存模式flat 语言类型为stdcall 从右向左压栈
option casemap:none //大小写敏感
includelib msvcrt.lib //引入静态数据链接库,相当于#include<stdio.h>
printf proto C:VARARG // 声明需要使用的函数头,函数不由被调用者清栈,而是由调用者负责清栈
.data //全局静态区
msg db "Hello World!", //分配字符串空间,存储“Hello World!”
0dh, 0ah, 0 //回车 换行
.code //代码区
start: // start标号,无实际意义,也可将它修改成其他名字
call main //调用main函数
ret //近返回,出栈1个字单元,改变EIP指向;远返回为retf
main proc //main子程序
push offset msg //获取msg的偏移值 压栈
call printf //调用上面声明的printf
add esp,4 // 子程序结束,弹出4字节,平衡堆栈
ret
main endp
end start
输出: