Windows环境下32位汇编语言程序设计(典藏版) 含CD光盘1张

分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

               

Windows环境下32位汇编语言程序设计(典藏版)(含CD光盘1张)(畅销10年,经典再现!)

罗云彬 著

ISBN 978-7-121-20759-4

2013年7月出版

定价:99.00元

756页

16开



编辑推荐

畅销10年,经典再现!

本书第1版出版至今已经10年多了,第3版出版至今也已经3年多了,期间笔者收到了大量的读者来信,对本书提出了各种意见和建议,综合各方面的考虑,典藏版做了以下改进。

●     对第3版中已知的错误进行了修正,包括一些排版错误、错别字和例子中的Bug。

●     对一些过时的内容进行了更新或删除。

●     根据读者的反馈,对部分章节进行了重写。

内容提要

Windows环境下32位汇编语言是一种全新的编程语言。它使用与C++语言相同的API接口,不仅可以开发出大型的软件,而且是了解操作系统运行细节的最佳方式。

本书从编写应用程序的角度,从“Hello,World!”这个简单的例子开始到编写多线程、注册表和网络通信等复杂的程序,通过70多个实例逐步深入Windows环境下32位汇编语言编程的方方面面。

作者罗云彬拥有10余年汇编语言编程经验,本书是作者多年来编程工作的总结,适合于欲通过Windows环境下32汇编语言编写Windows程序的读者。

目录

基础篇

第1章  背景知识          1

1.1  Win32的软硬件平台    1

1.1.1  80x86系列处理器简史      1

1.1.2  Windows的历史         3

1.1.3  Win32平台的背后——Wintel联盟 5

1.2  Windows的特色    6

1.3  必须了解的基础知识   7

1.3.1  80x86处理器的工作模式 7

1.3.2  Windows的内存管理         9

1.3.3  Windows的特权保护         17

第2章  准备编程环境          21

2.1  Win32可执行文件的开发过程    21

2.2  编译器和链接器   23

2.2.1  MASM系列         23

2.2.2  TASM系列  27

2.2.3  其他编译器         28

2.2.4  MASM,TASM还是NASM         29

2.2.5  我们的选择——MASM32 SDK软件包      30

2.3  创建资源        32

2.3.1  资源编译器的使用    32

2.3.2  所见即所得的资源编辑器         32

2.4  make工具的用法 34

2.4.1  make工具是什么       34

2.4.2  nmake的用法     35

2.4.3  描述文件的语法         36

2.5  获取资料        40

2.5.1  Windows资料的来源         40

2.5.2  Intel处理器资料         42

2.6  构建编程环境        42

2.6.1  IDE还是命令行 43

2.6.2  本书推荐的工作环境         43

2.6.3  尝试编译第一个程序         45

第3章  使用MASM     47

3.1  Win32汇编源程序的结构    47

3.1.1  模式定义    49

3.1.2  段的定义    51

3.1.3  程序结束和程序入口         54

3.1.4  注释和换行         54

3.2  调用API 55

3.2.1  API是什么  55

3.2.2  调用API      56

3.2.3  API参数中的等值定义      61

3.3  标号、变量和数据结构        63

3.3.1  标号    63

3.3.2  全局变量    65

3.3.3  局部变量    66

3.3.4  数据结构    69

3.3.5  变量的使用         71

3.4  使用子程序   75

3.4.1  子程序的定义    76

3.4.2  参数传递和堆栈平衡         77

3.5  高级语法        79

3.5.1  条件测试语句    80

3.5.2  分支语句    81

3.5.3  循环语句    83

3.6  代码风格        85

3.6.1  变量和函数的命名    86

3.6.2  代码的书写格式         88

3.6.3  代码的组织         89

初级篇

第4章  第一个窗口程序     90

4.1  开始了解窗口        90

4.1.1  窗口是什么         90

4.1.2  窗口界面    91

4.1.3  窗口程序是怎么工作的    92

4.2  分析窗口程序        99

4.2.1  模块和句柄         99

4.2.2  创建窗口    101

4.2.3  消息循环    108

4.2.4  窗口过程    110

4.3  窗口间的通信        115

4.3.1  窗口间的消息互发    115

4.3.2  在窗口间传递数据    119

4.3.3  SendMessage和PostMessage函数的区别     119

第5章  使用资源          121

5.1  菜单和加速键        121

5.1.1  菜单和加速键的组成         121

5.1.2  菜单和加速键的资源定义         122

5.1.3  使用菜单和加速键    128

5.2  图标和光标   140

5.2.1  图标和光标的资源定义    141

5.2.2  使用图标和光标         141

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
××××××××××××××××××××××××××× × 《Windows环境32位汇编语言程序设计》 × × 附书代码说明 × ××××××××××××××××××××××××××× 1. 编译器和链接器 本附书代码全部采用 MASM 格式编写,推荐使用 MASM32 软 件包作为编译环境,MASM32 软件包可以在以下地址下载: MASM32官方站点: http://www.masm32.com 安装及开发的操作系统建议采用32位Windows 7,在64位操作系统 上安装 MASM32 软件包,安装生成的Lib文件可能不兼容。 安装完成以后请将本光盘根目录下的环境设置批处理文件Var.bat 拷贝到 Masm32\bin 目录下,并根据 MASM32 的安装位置编辑修改 Var.bat 文件中的相关目录名称。 2. 代码维护工具 每个例子都包括了描述编译、链接方法的 makefile 文件, 使用 nmake 工具可以自动根据此文件进行编译链接,nmake 工 具可以从 Visual C++ 的 bin 目录中找到,也可以从作者的网 站中下载。 3. 编译环境和编译方法 建议使用命令行方式进行编译,以编译 Chapter02\Test 目录中 Test.asm 为例,步骤是: I. 打开一个“命令提示符”窗口。 II. 进入环境设置批处理文件 Var.bat 所在目录并执行 它,以后就可以使用这个“命令提示符”窗口编译 文件了。 x: cd \masm32\bin var III. 进入源代码目录: cd \chapter02\test IV. 使用 nmake 工具进行编译链接: nmake V. 执行编译好的可执行文件。 如果需要对源代码进行修改,不必关闭“命令提示符”窗口, 只要切换到编辑器窗口,在修改 *.asm 文件后重复进行第 IV 和 第 V 步骤即可。 # 特别注意:将光盘中的代码拷贝到硬盘后,必须将文件的只读属性去除! 4. 本光盘所包目录的说明 根目录下的 *.pdf ;附录A、B、C的电子版文档 Chapter02\Test ;测试编译环境 Chapter03\HelloWorld ;Hello World Chapter04\FirstWindow ;用Win32汇编写第一个窗口 Chapter04\FirstWindow-1 ;用Win32汇编写第一个窗口 Chapter04\SendMessage ;窗口间的消息互发 Chapter04\SendMessage-1 ;窗口间的消息互发 Chapter05\Menu ;使用资源 - 使用菜单 Chapter05\Icon ;使用资源 - 使用图标 Chapter05\Dialog ;使用资源 - 使用对话框 Chapter05\Listbox ;使用资源 - 使用列表框 Chapter05\Control ;使用资源 - 使用子窗口控件 Chapter05\ShowVersionInfo ;使用资源 - 显示版本信息资源的程序 Chapter05\VersionInfo ;使用资源 - 使用版本信息资源 Chapter06\Timer ;定时器的使用 Chapter07\DcCopy ;在两个窗口的 DC 间互相拷贝屏幕 Chapter07\Clock ;模拟时钟程序 Chapter07\BmpClock ;用 Bitmap 图片做背景的模拟时钟程序 Chapter07\TestObject ;一些常见的绘图操作 Chapter08\CommDlg ;使用通用对话框 Chapter09\Toolbar ;使用工具栏 Chapter09\StatusBar ;使用状态栏 Chapter09\Richedit ;使用丰富编辑控件 Chapter09\Wordpad ;一个完整的文本编辑器例子 Chapter09\SubClass ;窗口的子类化例子 Chapter09\SuperClass ;窗口的超类化例子 Chapter10\MemInfo ;显示当前内存的使用情况 Chapter10\FindFile ;全盘查找文件的例子 Chapter10\FormatText ;文件读写例子 Chapter10\FormatText\FileMap ;使用内存映射文件进行文件读写的例子 Chapter10\MMFShare ;使用内存映射文件进行进程间数据共享 Chapter11\Dll\Dll ;最简单的动态链接库例子 - 编写 DLL Chapter11\Dll\MASM Sample ;最简单的动态链接库例子 - 使用 DLL Chapter11\Dll\VC++ Sample ;最简单的动态链接库例子 - 在VC++中使用汇编编写的DLL Chapter11\KeyHook ;Windows 钩子的例子 - 监听键盘动作 Chapter11\RecHook ;Windows 日志记录钩子的例子 - 监听键盘动作 Chapter12\Counter ;有问题的程序 - 一个计数程序 Chapter12\Thread ;用多线程的方式解决上一个程序的问题 Chapter12\Event ;使用事件对象 Chapter12\ThreadSynErr ;一个存在同步问题的多线程程序 Chapter12\ThreadSyn\UseCriticalSection ;使用临界区对象解决多线程同步问题 Chapter12\ThreadSyn\UseEvent ;使用事件对象解决多线程同步问题 Chapter12\ThreadSyn\UseMutex ;使用互斥对象解决多线程同步问题 Chapter12\ThreadSyn\UseSemaphore ;使用信号灯对象解决多线程同步问题 Chapter13\CmdLine ;使用命令行参数 Chapter13\Process ;创建进程的例子 Chapter13\ProcessList ;显示系统中运行的进程列表 Chapter13\Patch1 ;一个内存补丁程序 Chapter13\Patch2 ;一个内存补丁程序 Chapter13\Patch3 ;一个内存补丁程序 Chapter13\HideProcess9x ;Windows 9x下的进程隐藏 Chapter13\RemoteThreadDll ;用 DLL 注入的方法实现远程进程 Chapter13\RemoteThread ;不依靠任何外部文件实现远程进程 Chapter14\TopHandler ;使用筛选器处理异常 Chapter14\SEH01 ;最基本结构化异常处理例子 Chapter14\SEH02 ;改进后的结构化异常处理例子 Chapter14\Unwind ;异常处理中的展开操作例子 Chapter15\Ini ;使用 INI 文件 Chapter15\Reg ;操作注册表的例子 Chapter15\Associate ;操作注册表实现文件关联 Chapter16\TcpEcho ;实现 TCP 服务器端的简单例子 Chapter16\Chat-TCP ;用 TCP 协议实现的聊天室例子 Chapter17\PeInfo ;查看 PE 文件的基本信息 Chapter17\Import ;查看 PE 文件的导入表 Chapter17\Export ;查看 PE 文件的导出表 Chapter17\Resource ;查看 PE 文件的资源列表 Chapter17\Reloc ;查看 PE 文件的重定位信息 Chapter17\NoImport ;不使用导入表调用 API 函数 Chapter17\AddCode ;在 PE 文件上附加可执行代码的例子 Chapter18\OdbcSample ;用ODBC操作数据库的例子 Appendix A\EchoLine ;控制台输入输出的例子 Appendix B\MsgWindow01 ;消息机制试验 1 Appendix B\MsgWindow02 ;消息机制试验 2 Appendix B\MsgWindow03 ;消息机制试验 3 Appendix B\MsgWindow04 ;消息机制试验 4 Appendix C\BrowseFolder ;浏览目录对话框 6. 联系作者 虽然本书中所有的例子代码都已经在32位Windows 98、Windows 2000、 Windows XP、Windows Vista和Windows 7下测试通过,但也有存在Bug的可能,如果 发现代码存在错误或者有其它问题,请告知作者,联系方法: E-mail:[email protected] 感谢您的支持! 作者:罗云彬
Windows环境32位汇编语言程序设计 第2版(罗文斌) 完整光盘内容,包每章内容的完整代码 本光盘所包目录的说明 根目录下的 *.pdf ;附录A、B、C的电子版文档 Chapter02\Test ;测试编译环境 Chapter03\HelloWorld ;Hello World Chapter04\FirstWindow ;用Win32汇编写第一个窗口 Chapter04\FirstWindow-1 ;用Win32汇编写第一个窗口 Chapter04\SendMessage ;窗口间的消息互发 Chapter04\SendMessage-1 ;窗口间的消息互发 Chapter05\Menu ;使用资源 - 使用菜单 Chapter05\Icon ;使用资源 - 使用图标 Chapter05\Dialog ;使用资源 - 使用对话框 Chapter05\Listbox ;使用资源 - 使用列表框 Chapter05\Control ;使用资源 - 使用子窗口控件 Chapter05\ShowVersionInfo ;使用资源 - 显示版本信息资源的程序 Chapter05\VersionInfo ;使用资源 - 使用版本信息资源 Chapter06\Timer ;定时器的使用 Chapter07\DcCopy ;在两个窗口的 DC 间互相拷贝屏幕 Chapter07\Clock ;模拟时钟程序 Chapter07\BmpClock ;用 Bitmap 图片做背景的模拟时钟程序 Chapter07\TestObject ;一些常见的绘图操作 Chapter08\CommDlg ;使用通用对话框 Chapter09\Toolbar ;使用工具栏 Chapter09\StatusBar ;使用状态栏 Chapter09\Richedit ;使用丰富编辑控件 Chapter09\Wordpad ;一个完整的文本编辑器例子 Chapter09\SubClass ;窗口的子类化例子 Chapter09\SuperClass ;窗口的超类化例子 Chapter10\MemInfo ;显示当前内存的使用情况 Chapter10\Fragment ;内存碎片化的演示程序 Chapter10\FindFile ;全盘查找文件的例子 Chapter10\FormatText ;文件读写例子 Chapter10\FormatText\FileMap ;使用内存映射文件进行文件读写的例子 Chapter10\MMFShare ;使用内存映射文件进行进程间数据共享 Chapter11\Dll\Dll ;最简单的动态链接库例子 - 编写 DLL Chapter11\Dll\MASM Sample ;最简单的动态链接库例子 - 使用 DLL Chapter11\Dll\VC++ Sample ;最简单的动态链接库例子 - 在VC++中使用汇编编写的DLL Chapter11\KeyHook ;Windows 钩子的例子 - 监听键盘动作 Chapter11\RecHook ;Windows 日志记录钩子的例子 - 监听键盘动作 Chapter12\Counter ;有问题的程序 - 一个计数程序 Chapter12\Thread ;用多线程的方式解决上一个程序的问题 Chapter12\Event ;使用事件对象 Chapter12\ThreadSynErr ;一个存在同步问题的多线程程序 Chapter12\ThreadSyn\UseCriticalSection ;使用临界区对象解决多线程同步问题 Chapter12\ThreadSyn\UseEvent ;使用事件对象解决多线程同步问题 Chapter12\ThreadSyn\UseMutex ;使用互斥对象解决多线程同步问题 Chapter12\ThreadSyn\UseSemaphore ;使用信号灯对象解决多线程同步问题 Chapter13\CmdLine ;使用命令行参数 Chapter13\Process ;创建进程的例子 Chapter13\ProcessList ;显示系统中运行的进程列表 Chapter13\Patch1 ;一个内存补丁程序 Chapter13\Patch2 ;一个内存补丁程序 Chapter13\Patch3 ;一个内存补丁程序 Chapter13\HideProcess9x ;Windows 9x下的进程隐藏 Chapter13\RemoteThreadDll ;用 DLL 注入的方法实现远程进程 Chapter13\RemoteThread ;不依靠任何外部文件实现远程进程 Chapter14\TopHandler ;使用筛选器处理异常 Chapter14\SEH01 ;最基本结构化异常处理例子 Chapter14\SEH02 ;改进后的结构化异常处理例子 Chapter14\Unwind ;异常处理中的展开操作例子 Chapter15\Ini ;使用 INI 文件 Chapter15\Reg ;操作注册表的例子 Chapter15\Associate ;操作注册表实现文件关联 Chapter16\TcpEcho ;实现 TCP 服务器端的简单例子 Chapter16\Chat-TCP ;用 TCP 协议实现的聊天室例子 Chapter17\PeInfo ;查看 PE 文件的基本信息 Chapter17\Import ;查看 PE 文件的导入表 Chapter17\Export ;查看 PE 文件的导出表 Chapter17\Resource ;查看 PE 文件的资源列表 Chapter17\Reloc ;查看 PE 文件的重定位信息 Chapter17\NoImport ;不使用导入表调用 API 函数 Chapter17\AddCode ;在 PE 文件上附加可执行代码的例子 Chapter18\OdbcSample ;用ODBC操作数据库的例子 Appendix A\EchoLine ;控制台输入输出的例子 Appendix B\MsgWindow01 ;消息机制试验 1 Appendix B\MsgWindow02 ;消息机制试验 2 Appendix B\MsgWindow03 ;消息机制试验 3 Appendix B\MsgWindow04 ;消息机制试验 4 Appendix C\BrowseFolder ;浏览目录对话框
本书从编写应用程序的角度,从“Hello World!”这个简单的例子开始到编写多线程、注册表和网络通信等复杂的程序,通过70多个实例逐步深入Win32汇编语言编程的方方面面。本书作者有十多年的汇编编程经验,很清楚初学者在哪些地方会遇到问题,所以本书在系统全面地介绍Win32汇编编程的同时,也穿插了很多作者的经验之谈,使读者能够快速入门并最终熟练地写出各种Windows应用程序。   Windows环境32位汇编语言是一种全新的编程语言。它使用与C++语言相同的API接口,不仅可以用来开发出大型的软件,而且是了解操作系统运行细节的最佳方式。   本书从编写应用程序的角度,从“Hello World!”这个简单的例子开始到编写多线程、注册表和网络通信等复杂的程序,通过70多个实例逐步深入Win32汇编语言编程的方方面面。   本书作者罗云彬拥有十余年汇编语言编程经验,是汇编编程网站http://asm.yeah.net和汇编编程论坛http: //win32asm.yeah.net的站长。本书是作者多年来编程工作的总结,适合于欲通过Win32汇编语言编写Windows程序的读者。 作者简介   罗云彬,软件工程师,现从事软件项目管理、软件工程实施、数据库应用等领域的工作,在Windows操作系统下的应用软件编程方面有丰富的经验,另外对Oracle数据库的管理有深入的研究,是国内为数不多的OCM证书获得者之一。   汇编语言编程是作者的一大爱好,作者自1990年开始即使用汇编语言编写程序,是Windows操作系统流行后国内最早研究Win32汇编编程的程序员之一,在1998年创建了专门探讨汇编编程的网站——htlp://asm.yeah.net,曾发表过大量关于汇编编程的文章和网上教程。 编辑推荐   本书从编写应用程序的角度,从“Hello World!”这个简单的例子开始到编写多线程、注册表和网络通信等复杂的程序,通过70多个实例逐步深入Win32汇编语言编程的方方面面。本书作者有十多年的汇编编程经验,很清楚初学者在哪些地方会遇到问题,所以本书在系统全面地介绍Win32汇编编程的同时,也穿插了很多作者的经验之谈,使读者能够快速入门并最终熟练地写出各种Windows应用程序。
要在 VMware 中安装 Windows 7 32 位虚拟机,您可以按照以下步骤操作: 1. 首先,确保您已经安装了 VMware Workstation 或 VMware Player。如果没有安装,请前往 VMware 官方网站下载并安装适合您操作系统的版本。 2. 下载 Windows 7 32 位的 ISO 镜像文件。您可以从 Microsoft 官方网站或其他可信来源获取。 3. 打开 VMware Workstation 或 VMware Player。 4. 点击菜单中的 "新建虚拟机" 或 "创建新的虚拟机"。 5. 在向导中选择 "典型(推荐)" 或 "Typical (recommended)",然后点击下一步。 6. 在 "安装操作系统" 窗口中,选择 "稍后安装操作系统",然后点击下一步。 7. 在 "选择所使用的操作系统" 窗口中,选择 "Microsoft Windows",版本选择 "Windows 7",然后点击下一步。 8. 输入虚拟机的名称和存储位置,然后点击下一步。 9. 在 "指定磁盘容量" 窗口中,可以根据需要调整磁盘大小。建议至少保留 20GB 空间。然后点击下一步。 10. 在 "完成虚拟机创建向导" 窗口中,点击 "定制硬件"。 11. 在 "硬件" 标签页中,选择 "CD/DVD",然后将光盘驱动器设置为 "使用 ISO 镜像文件"。点击 "浏览",选择之前下载的 Windows 7 32 位 ISO 镜像文件。 12. 点击 "确定",然后点击 "完成"。 13. 现在您已经创建了一个 Windows 7 32 位虚拟机。您可以点击 "开启此虚拟机" 来开始安装 Windows 7。 请注意,在安装过程中可能会有其他设置和选项,您可以根据需要进行调整。希望这些步骤能够帮助您成功安装 Windows 7 32 位虚拟机。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值