用VS2019开发汇编程序

1、安装VS2019社区版,下载地址:

https://visualstudio.microsoft.com/zh-hans/thank-you-downloading-visual-studio/?sku=Community&rel=15#

安装时选择 桌面C++ 组件。

如果安装失败,说明你的操作系统用的时间太长了,环境搞坏了,最好是重装一下系统。

 

2、安装AsmDude插件,支持.asm文件的语法高亮。

这个插件不太完善,问题比较多,但是就这么一个独苗,凑合着用吧。

 

3、安装MASM32 SDK,下载地址:

http://website.assemblercode.com/masm32/masm32v11r.zip

我们其实不用它的汇编器,只是用它打包好的 lib 和 inc 文件,用起来比较方便。

假设安装在D盘。

 

4、新建一个空项目,项目类型为c++、Windows、控制台。

项目节点上右键菜单,“生成依赖项” -> 自定义->masm

项目节点上右键菜单,链接器 -> 附加库目录,增加路径:d:\masm32\lib

 

5、添加一个文件,选择c++,但是把后缀名改为.asm,例如:hello.asm。

 

6、输入源代码,运行即可。

.386
.model flat,stdcall
option casemap:none

includelib msvcrt.lib

printf proto c: ptr sbyte, :vararg
getchar proto c
ExitProcess proto,dwExitCode:dword
 
.data
msg1 BYTE "Hello, world!", 0ah, 0
msg2 BYTE "Press any key to exit...", 0

.code
main Proc
    push offset msg1
    call printf

    invoke printf, offset msg2
    invoke getchar

    invoke ExitProcess, 0
main ENDP
end main

 

7、如果用命令行,代码中includelib指令需要指定具体的路径,否则找不到指定的lib文件。并且,link需要指定/SUBSYSTEM参数。如下:

> ml /c hello.asm
> link /SUBSYSTEM:CONSOLE hello.obj

 

posted @ 2020-10-10 19:18  卡卡西村长  阅读(1707)  评论(0编辑  收藏  举报