news 2026/5/1 11:14:07

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/1 3:45:28

【开题答辩全过程】以 基于Java技术的羽毛球积分赛管理系统的设计与实现 为例,包含答辩的问题和答案

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

作者头像 李华
网站建设 2026/5/1 3:45:37

矽塔 SA8870C 4.5-40V宽压、4.5A峰值、集成电流调节有刷直流电机驱动芯片技术解析

一、芯片核心定位SA8870C 是一款高度集成的 H桥有刷直流电机单芯片驱动器 其核心价值在于 4.5V至40V的宽范围工作电压、高达4.5A的峰值输出电流 以及 基于VREF的模拟电流调节功能 专为机器人、家电、工业设备等需要精准控制电机转矩与速度,且对系统可靠性有高要求的…

作者头像 李华
网站建设 2026/5/1 4:44:06

如何选择适合企业的代理记账公司?——小企业的财务管理故事

随着企业的发展,尤其是对于中小型企业,财务管理逐渐变得越来越复杂。企业不仅需要处理日常的账务数据,还要应对税务申报和财务合规等问题。对于许多创业者来说,财务管理成了一个繁琐且专业的任务。而在这个过程中,代理…

作者头像 李华
网站建设 2026/5/1 4:47:17

CNN - BiLSTM - SelfAttention在Matlab中的多变量回归预测探索

CNN-BiLSTM-SelfAttention基于卷积神经网络-双向长短期记忆网络结合自注意力机制的多变量回归预测Matlab语言 1.多特征输入,回归也可以换成时间序列单列预测(售前选一种),Matlab版本要在2021a及以上。 2.特点: 1卷积神…

作者头像 李华