目录
第一步:创建新项目
1. 空项目—下一步
2. 选择位置—填写项目名—创建
第二步:项目生成依赖项
1. 右击项目名—生成依赖项—生成自定义
2. 选中masm—确定
第三步:创建源文件
1. 源文件—添加—新建项
2. 选择C++文件—创建新文件令其后缀为.asm
第四步:编写源文件
第五步:配置解决方案平台
1. 右击解决方案—属性
2. 配置属性—属性
第六步:查看.asm文件属性
1. 右击.asm文件—属性
2. Command Line—检验是否为ml.exe
第七步:断点调试查看内存与寄存器
1. 打断点—调试—开始调试
2. 调试—窗口—内存(寄存器)
3. 手动增加待查看寄存器
4. 查看程序中变量的地址
第一步:创建新项目
1. 空项目—下一步
选择创建空项目,选择完毕后点击下一步:
2. 选择位置—填写项目名—创建
第二步:项目生成依赖项
1. 右击项目名—生成依赖项—生成自定义
2. 选中masm—确定
第三步:创建源文件
1. 源文件—添加—新建项
2. 选择C++文件—创建新文件令其后缀为.asm
第四步:编写源文件
此处以hello world 程序为例:
源码如下:
.586
.MODEL flat,stdcall
includelib msvcrt.lib
INCLUDELIB kernel32.lib
INCLUDELIB ucrt.lib
INCLUDELIB legacy_stdio_definitions.lib
ExitProcess PROTO, dwExitCode:DWORD ; return code
printf proto C: vararg
.data
msg db 'Hello World!',13,10,0
.code
main PROC
;main:
mov eax,10000h ; EAX = 10000h
add eax,40000h ; EAX = 50000h
sub eax,20000h ; EAX = 30000h
invoke printf, offset msg
pushad
push offset msg
call printf
popad
pushad
;push 0h
;call ExitProcess
invoke ExitProcess,0
popad
main ENDP
end main
粘贴至刚创建的源文件中即可;
第五步:配置解决方案平台
1. 右击解决方案—属性
2. 配置属性—属性
第六步:查看.asm文件属性
1. 右击.asm文件—属性
2. Command Line—检验是否为ml.exe
此处若为ml64.exe,采用的就是64位汇编,后续运行就会报错。
第七步:断点调试查看内存与寄存器
1. 打断点—调试—开始调试
2. 调试—窗口—内存(寄存器)
3. 手动增加待查看寄存器
4. 查看程序中变量的地址
在本程序中定义了字节型变量msg,此处输入&msg并回车查看其地址: