news 2026/5/25 20:35:30

Intel汇编语言程序设计(第5版)中源代码在Visual Studio2022的汇编环境配置复现(VS2022 + Irvine32)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Intel汇编语言程序设计(第5版)中源代码在Visual Studio2022的汇编环境配置复现(VS2022 + Irvine32)

今天要学习的这本书的封面如下:

目前这本书已经出版到第8版了,我学习使用的是第5版,翻译的作者中有一位是“罗云彬”,就是《Windows 环境下 32 位汇编语言程序设计》的作者,如下:

因为相信作者的实力及翻译水平,就找来学习了。

学习过程中,光看不练,相当于啥也没有学习到,同时,看到书中有作者提到他自己搭建的网站,网站上有视频,也有书籍的全套代码

本书作者使用的是Visual sudio 2010版本,我目前正在使用的是Visual Studio 2022 版本,目前源代码已经在网站上下载下来了,目前就是在VIsual Studio 2022 中进行汇编环境配置,以使用作者提供的源代码进行复现实操。

上面 是作者网站提供的全部源代码的截图。

然后

下载Visual Studio 2022 ,安装Visual C++桌面开发这个模块,一步一步安装下来就可以了。如下所示:

等待全部安装完成后,启动Visual Studio 2022,选择C++空项目,如下:

项目名称、目录等等,根据自己的要求创建即可;

项目new创建后的界面如下:

找到生成依赖项 选择生成自定义

选择 masm --> 确定

新建文件

点击“新建项”后,出现界面如下:

选择cpp文件并在下方手动指定asm后缀

输入以下汇编代码:

; AddTwo.asm - 两个32位整数相加 ; 第三章示例 .386 .model flat, stdcall .stack 4096 ExitProcess PROTO, dwExitCode:DWORD .code main PROC mov eax, 5 add eax, 6 INVOKE ExitProcess, 0 main ENDP END main

配置解决方案的平台

调出解决方案的属性,如下:

查看asm文件的属性页

更改为win32,如下:


将压缩包中Irvine_Library文件夹中的文件全部释放到E:\masm\Irvine中,如下图所示:

打开解决方案资源管理器 --> 右击项目名称 --> 选择属性(最下面) --> 选择 Microsoft Macro Assembler --> Include Paths --> 编辑 --> 添加irvine库目录 (如 下图):

将库文件所在的目录的路径填写在include paths中,如下图所示:

打开解决方案资源管理器 --> 右击项目名称 --> 选择属性(最下面) --> 选择“链接器” --> 选择 “常规” --> 选择“附加库目录” --> 编辑 --> 添加irvine库目录 (如 下图)

打开解决方案资源管理器 --> 右击项目名称 --> 选择属性(最下面) --> 选择“链接器” --> 选择 “输入” --> 选择“附加依赖项” --> 编辑 --> 直接编辑写入 irvine32.lib:

上述配置完成后,用汇编代码测试一下效果,如下:

TITLE EXAMPLE include irvine32.inc .data str1 byte "Hello World!", 0 .code main proc mov edx, offset str1 call writestring call crlf exit main endp end main

可见,弹出DOS对话框,并成功显示出“Hello World!”。


下面说一下调试的内容:

为程序打上断点

在箭头对应的行号处左击就可以插入断点。

点击F5开始调试

开始调试后,可以根据需要调出各个需要的对话框。

CTRL+ALT+G 打开寄存器

点击F5启动调试后,在调试的菜单栏里面可以看到大量的调试用的工具,如下图所示:

按F11逐步运行

或者点击上方的菜单栏,可以逐语句、逐过程地调试汇编代码。

同时,寄存器查看栏中,会有红色字体标示变化的寄存器。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/25 9:50:24

【开题答辩全过程】以 基于SSM框架的餐厅点餐系统的设计与实现为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

作者头像 李华
网站建设 2026/5/26 6:54:02

豆包 AI 手机登录微信被「踢下线」,原因为何?端侧 AI 与头部应用的生态兼容上存在哪些挑战?

2025年12月,豆包 AI 手机的发布成为了科技行业的热门话题。这款手机的最大亮点在于其情感智能系统,能够通过面部识别、语音分析等方式实时感知用户的情绪,并根据情感变化提供个性化的互动和服务。然而,在迎来巨大关注的同时&#…

作者头像 李华
网站建设 2026/5/26 6:54:12

【第56套】很综合,值得练手!

写在前面车门焊死,考研将至,准备冲刺!我将持续为大家更新25最新真题解析!学得快的同学可以和我一起,全力冲刺~注意,目前我只发布最新年份的真题,其他年份的真题,一个是很…

作者头像 李华