VS2019中编写X64汇编

本文参考了这位大神的文章,并亲自在vs2019环境中操作了一遍,如有雷同,那就是抄的 。VS2015配置并运行汇编(一步一步照图做)【vs2017的链接在最后】_vs2015汇编环境-CSDN博客
创建空项目

建一个空项目,必须先建空项目,改现成的C++项目为assembly项目可能会造成编译不过

选择生成依赖项

创建好了之后,不要着急创建源文件,先对项目进行一些设置。点击菜单栏->项目->生成自定义->选择masn

创建asm源文件

新建一个C++的源文件,将后缀改为.asm

extrn MessageBoxA: proc
 
;64位没有 .model 宏指令,不能指定内存模型和调用约定
 
.data
text db 'Hello World', 0
caption db 'Selph First x64 Application', 0
 
.code
WinMain proc
sub rsp,28h ; 函数调用前需要预留影子空间,对齐rsp
xor r9d,r9d
lea r8, caption
lea rdx, text
xor rcx,rcx
call MessageBoxA ; 函数调用使用fastcall
add rsp,28h
WinMain ENDP
END ; 最后直接end,不用指明符号
重要:把目标平台改为x64

如下,箭头指示的位置,修改一下即可

添加程序入口点

点击菜单栏->项目->属性->连接器->高级->入口点->设置为main

(其实这个可以自己随意设置,写代码的时候,入口函数需要和这里一致)

开始写代码

简单的测试代码,如果能运行就说明环境配置成功了~

断点调试

和VS开发其他语言相同,在代码最左侧可以插入断点,F10单步,F11进入函数内部。

查看寄存器值

因为是没有输出的,所以需要通过调试观察寄存器的值,按F11进入调试,然后点击菜单->调试->窗口->寄存器

查看内存中的内容

菜单->调试->窗口->内存

代码没有颜色,也没有智能提示?

点击菜单->拓展->管理拓展

然后搜索,AsmDude,点击下载,会非常的慢,耐心等待即可,你也可以去微软官网手动下载插件[https://marketplace.visualstudio.com/items?itemName=Henk-JanLebbink.AsmDude]

安装的时候需要把vs关掉,点击end tasks即可

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值