创建汇编项目:
1. 新建一个空项目
2. 在在解决方案上右键, 选择 生成依赖项-->生成自定义
3.然后选中masm, 点击确定
4.在 项目-->属性中, 点击 链接器-->系统, 修改子系统为如图,(点击右侧下拉按钮即可修改),
5. 在 项目-->属性中, 点击 链接器-->高级, 修改入口点为 main, 点击确认
6. 新建项, 后缀为.asm, 然后就可以撸代码了
7. 高亮插件:
安装插件后重启VS即可享用
--------------------------------------------------------------------------------------------------------------------------------------------------------------
设置vs2017生成列表文件:
然后在项目文件夹下就可以.lst的列表文件
--------------------------------------------------------------------------------------------------------------------------------------------------------------
;2018.12.19
;creat by Lien
; 表名这是个32位程序, 能访问32位寄存器和地址
.386
; 选择程序内存模式(flat), 确定子程序调用规范(stdcall), 322位windows服务要求使用stdcall规范
.model flat, stdcall
; 运行时堆栈保留4096字节的储存空间
.stack 4096
; 声明ExitProcess函数原型, 原型包括了 函数名, PRTOT关键字, 一个逗号, 一个输入参数列表.
; ExitProcess输入参数名称为 dwExitCode, 此处看做给windows操作系统的返回值
ExitProcess PROTO, dwExitCode:DWORD
.data
; 声明变量
.code
; 主程序
main PROC ; 程序入口, 一个名为 main 的过程入口
mov eax, 5
add eax, 6
INVOKE ExitProcess, 0
main ENDP ; mian 过程的结束
END main ; 标记程序的结束, 并要应用程序入口
comment !
寄存器标志位:
OV: 溢出标志位
UP: 方向标志位
EI: 中断标志位
PL: 符号标志位
ZR: 零标志位
AC: 辅助进位标志位
PE: 奇偶标志位
CY: 进位标志位
!
注意事项:
非第一次打开已经设置好的汇编项目时, 修改代码不要 全部重写! 否则会出现无法调试无法运行的莫名其妙的问题.
只修改.data和.code两个地方的代码(其他地方没试过)就没问题