今天端午节,独自在家,翻阅了张银奎老师编写的《现代x86汇编语言程序设计》一书,前言部分说明书中示例代码都是用微软visual C++工具编写并使用微软宏汇编(著名的MASM)编译的,好久没有用微软vc++了,假期无聊,装上体会一下现代x86汇编。
第一步当然是下载最新的viusal studio, baidu一下:download visual studio
https://visualstudio.microsoft.com/downloads/
搜到的这个链接竟然打不开。去掉downloads后可以打开
Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器
已经是2022版本了,发展真快,下载commuity免费版本
OK,果然可以支持汇编。安装选择C++桌面开发
安装好了,先创建可控制台应用试试
这个程序只有一行:std::count<<"hello"<<std::endl;第一次运行需要下载符号表,所以需要耐心等待
windows调试符号都自动下载到:C:\symbols
汇编项目如何配置?下面探索一下,说上说华章网站有简单的指导:www.hzbook.com,已经没有这个网站了,换地方了
教学资源 – 图书教辅 --找不到相关资料,机械工业出版社越来越没落了。找原出版社Apress
才发现,这本书除了3版了,最新的是2023年出版的
Modern X86 Assembly Language Programming: Covers X86 64-bit, AVX, AVX2, and AVX-512 | SpringerLink
代码也放到了github上
GitHub - Apress/modern-x86-assembly-language-programming-3e: Source Code for 'Modern X86 Assembly Language Programming' by Daniel Kusswurm
这是第一版:Modern X86 Assembly Language Programming: 32-bit, 64-bit, SSE, and AVX | SpringerLink
都没有附录可以下载了。
从B站找到一个说明先试试asm
新建一个SimpleAddition项目,项目属性中勾选masm
main.asm的属性设置一下:
这两个设置完成了,就可以编写汇编代码了:main.asm里面有一个start PROC
所以这个项目的入口点设置为start
最终运行界面:
asm语法高亮插件,在cn.bing.com中搜索masm assembler syntax highlighting visual studio