一. 新建项目
-
直接创建空项目
-
右击项目菜单添加依赖项
-
在弹出的窗口勾选masm
-
再次右击项目菜单添加新文件,选择添加cpp文件,然后修改文件后缀名为.asm,完成后点确定。
-
再次右击项目菜单,确认使用的是 Microsoft Macro Assembler
-
安装汇编高亮插件,搜索 AsmDude,下载不成功请修改DNS为8:8:8:8
-
复制代码,测试项目是否新建成功。
.686 ;指令集
.MODEL flat, c ;保护模式,链接c
includelib ucrt.lib ;c函数库
includelib legacy_stdio_definitions.lib
printf PROTO arg:PTR byte, printlist:vararg ;函数原型
.stack 10h ;堆栈段
.data ;数据段
format byte "%s",0Ah,0 ;格式符
text byte "HelloWorld!", 0 ;声明变量
.code ;代码段
main proc
invoke printf,ADDR format,ADDR text ;调用printf函数
ret ;return 0
main endp
end main
二. 熟悉语法
- hello程序语法汇总 (一些伪指令以"."+"指令名"的形式给出)
- .686 指定程序使用的指令集
- .MODEL(大写) flat 使用保护模式
- .MODEL(大写) c 链接c/c++
- includelib 链接lib
- proto 函数原型
- invoke 调用函数
- addr 赋值
- .stack .data .code 堆栈段,数据段,代码段
- proc(Procedure) 程序块开始
- endp(EndProcedure) 程序块结束
- end 整个程序的结束
- ret return 0
- 0Ah \n
- 0 字符串结束
- 变量名不区分大小写
- ;注释符
三. Debug
-
单击灰色条可以创建断点,或者右键创建断点
-
点击运行,打开debug/windows/registers即可查看寄存器的值
-
右键寄存器菜单,可以选择显示更多的寄存器类型。