新闻资讯
看你所看,想你所想

Windows环境下32位彙编语言程式设计

Windows环境下32位彙编语言程式设计

Windows环境下32位彙编语言程式设计

《Windows环境下32位彙编语言程式设计》是2013年电子工业出版社出版的图书,作者是罗云彬。本书通过70多个实例逐步深入Win32彙编语言编程的方方面面,使读者能够快速入门并最终熟练地写出各种Windows应用程式。

基本介绍

  • 书名:Windows环境下32位彙编语言程式设计
  • 作者:罗云彬
  • ISBN:9787121207594, 7121207591
  • 类别:图书>计算机与网际网路>编程与开发>程式语言与工具>彙编语言 
  • 定价:52
  • 出版社:电子工业出版社
  • 出版时间:2013/7/1
  • 装帧:平装
  • 开本:16

内容简介

本书从编写应用程式的角度,从“Hello World!”这个简单的例子开始到编写多执行绪、注册表和网路通信等複杂的程式,通过70多个实例逐步深入Win32彙编语言编程的方方面面。本书作者有十多年的彙编编程经验,很清楚初学者在哪些地方会遇到问题,所以本书在系统全面地介绍Win32彙编编程的同时,也穿插了很多作者的经验之谈,使读者能够快速入门并最终熟练地写出各种Windows应用程式。
本书从编写应用程式的角度,从“Hello World!”这个简单的例子开始到编写多执行绪、注册表和网路通信等複杂的程式,通过70多个实例逐步深入Win32彙编语言编程的方方面面。

作者简介

罗云彬,软体工程师,现从事软体项目管理、软体工程实施、资料库套用等领域的工作,在Windows作业系统下的套用软体编程方面有丰富的经验,另外对Oracle资料库的管理有深入的研究,是国内为数不多的OCM证书获得者之一。

编辑推荐

本书从编写应用程式的角度,从“Hello World!”这个简单的例子开始到编写多执行绪、注册表和网路通信等複杂的程式,通过70多个实例逐步深入Win32彙编语言编程的方方面面。本书作者有十多年的彙编编程经验,很清楚初学者在哪些地方会遇到问题,所以本书在系统全面地介绍Win32彙编编程的同时,也穿插了很多作者的经验之谈,使读者能够快速入门并最终熟练地写出各种Windows应用程式。

目录

第1篇 基础篇
第1章 背景知识 2
1.1 Win32的软硬体平台 2
1.1.1 80x86系列处理器简史 2
1.1.2 Windows的历史 4
1.1.3 Win32平台的背后——Wintel联盟 6
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系列 26
2.2.3 其他编译器 27
2.2.4 MASM,TASM还是NASM 28
2.2.5 我们的选择——MASM32软体包 29
2.3 创建资源 31
2.3.1 资源编译器的使用 31
2.3.2 所见即所得的资源编辑器 31
2.4 make工具的用法 33
2.4.1 make工具是什幺 33
2.4.2 nmake的用法 34
2.4.3 描述档案的语法 35
2.5 获取资料 39
2.5.1 Windows资料的来源 39
2.5.2 Intel处理器资料 41
2.6 构建编程环境 41
2.6.1 IDE还是命令行 41
2.6.2 本书推荐的工作环境 42
2.6.3 尝试编译第一个程式 43
第3章 使用MASM 45
3.1 Win32彙编源程式的结构 45
3.1.1 模式定义 47
3.1.2 段的定义 49
3.1.3 程式结束和程式入口 52
3.1.4 注释和换行 52
3.2 调用API 53
3.2.1 API是什幺 53
3.2.2 调用API 54
3.2.3 API参数中的等值定义 59
3.3 标号、变数和数据结构 61
3.3.1 标号 61
3.3.2 全局变数 63
3.3.3 局部变数 64
3.3.4 数据结构 67
3.3.5 变数的使用 69
3.4 使用子程式 73
3.4.1 子程式的定义 74
3.4.2 参数传递和堆叠平衡 75
3.5 高级语法 78
3.5.1 条件测试语句 78
3.5.2 分支语句 80
3.5.3 循环语句 82
3.6 代码风格 84
3.6.1 变数和函式的命名 84
3.6.2 代码的书写格式 86
3.6.3 代码的组织 87
第2篇 初级篇
第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 讯息循环 107
4.2.4 视窗过程 109
4.3 视窗间的通信 114
4.3.1 视窗间的讯息互发 114
4.3.2 在视窗间传递数据 117
4.3.3 SendMessage和PostMessage函式的区别 118
第5章 使用资源 119
5.1 选单和加速键 119
5.1.1 选单和加速键的组成 119
5.1.2 选单和加速键的资源定义 120
5.1.3 使用选单和加速键 125
5.2 图示和游标 138
5.2.1 图示和游标的资源定义 138
5.2.2 使用图示和游标 139
5.3 点阵图 143
5.3.1 点阵图简介 143
5.3.2 在资源中定义点阵图 144
5.4 对话框 144
5.4.1 对话框简介 144
5.4.2 对话框的资源定义 146
5.4.3 使用对话框 148
5.4.4 在对话框中使用子视窗控制项 151
5.5 字元串资源 173
5.6 版本信息资源 174
5.6.1 版本信息资源的定义 175
5.6.2 在程式中检测版本信息 177
5.7 二进制资源和自定义资源 178
5.7.1 使用二进制资源 178
5.7.2 使用自定义资源 179
第6章 定时器和Windows时间 181
6.1 定时器 181
6.1.1 定时器简介 181
6.1.2 定时器的使用方法 182
6.2 Windows时间 186
6.2.1 Windows时间的获取和设定 186
6.2.2 计算时间间隔 187
第7章 图形操作 189
7.1 GDI原理 189
7.1.1 GDI程式的结构 190
7.1.2 设备环境 193
7.1.3 色彩和坐标 199
7.2 绘製图形 201
7.2.1 画笔和画刷 209
7.2.2 绘製像素点 212
7.2.3 绘製图形 212
7.2.4 绘图模式 217
7.3 创建和使用点阵图 218
7.3.1 一个使用点阵图的时钟例子 218
7.3.2 创建和使用点阵图 229
7.3.3 使用设备无关点阵图 229
7.4 块传送操作 232
7.4.1 块传送方式 232
7.4.2 块传送函式 233
7.5 区域和路径 237
7.5.1 使用区域 237
7.5.2 使用路径 239
第3篇 界面篇
第8章 通用对话框 242
8.1 通用对话框简介 242
8.2 使用通用对话框 249
8.2.1 “打开”档案和“保存”档案对话框 249
8.2.2 字型选择对话框 251
8.2.3 颜色选择对话框 253
8.2.4 “查找”和“替换”文本对话框 254
8.2.5 “页面设定”对话框 257
8.2.6 “浏览目录”对话框 259
第9章 通用控制项 260
9.1 通用控制项简介 260
9.1.1 通用控制项的分类 260
9.1.2 使用通用控制项 262
9.2 使用状态栏 265
9.2.1 创建状态栏 271
9.2.2 状态栏的控制讯息 272
9.2.3 在状态栏上显示选单提示信息 274
9.3 使用工具列 275
9.3.1 创建工具列 283
9.3.2 工具列的控制讯息 286
9.3.3 工具列的通知讯息 288
9.4 使用Richedit控制项 292
9.4.1 创建Richedit控制项 304
9.4.2 Richedit控制项的控制讯息 306
9.4.3 Richedit控制项的通知讯息 315
9.5 视窗的子类化 316
9.5.1 什幺是视窗的子类化 316
9.5.2 视窗子类化的实现 317
9.6 控制项的超类化 323
9.6.1 什幺是控制项的超类化 323
9.6.2 控制项超类化的实现 324
第4篇 系统篇
第10章 记忆体管理和档案操作 330
10.1 记忆体管理 330
10.1.1 记忆体管理基础 330
10.1.2 记忆体的当前状态 331
10.1.3 标準记忆体管理函式 333
10.1.4 堆管理函式 339
10.1.5 虚拟记忆体管理函式 343
10.1.6 其他记忆体管理函式 347
10.2 档案操作 349
10.2.1 Windows的档案I/O 349
10.2.2 创建和读写档案 350
10.2.3 查找档案 360
10.2.4 档案属性 368
10.2.5 其他档案操作 369
10.3 驱动器和目录 371
10.3.1 逻辑驱动器操作 372
10.3.2 目录操作 374
10.4 记忆体映射档案 376
10.4.1 记忆体映射档案简介 376
10.4.2 使用记忆体映射档案 379
第11章 动态程式库和钩子 387
11.1 动态程式库 387
11.1.1 动态程式库的概念 387
11.1.2 编写动态程式库 388
11.1.3 使用动态程式库 394
11.1.4 动态程式库中的数据共享 403
11.1.5 在VC++中使用动态程式库 404
11.2 Windows钩子 407
11.2.1 什幺是Windows钩子 407
11.2.2 远程钩子的安装和使用 409
11.2.3 日誌记录钩子 417
第12章 多执行绪 421
12.1 进程和执行绪 421
12.2 多执行绪编程 422
12.2.1 一个单执行绪的“问题程式” 422
12.2.2 多执行绪的解决方法 426
12.2.3 与执行绪有关的函式 430
12.3 使用事件对象控制执行绪 434
12.3.1 事件 435
12.3.2 等待事件 436
12.3.3 进一步改进计数程式 437
12.4 执行绪间的同步 440
12.4.1 产生同步问题的原因 440
12.4.2 各种用于执行绪间同步的对象 445
第13章 进程控制 452
13.1 环境变数和命令行参数 452
13.1.1 环境变数 452
13.1.2 命令行参数 455
13.2 执行执行档 461
13.2.1 方法一:Shell调用 461
13.2.2 方法二:创建进程 462
13.3 进程调试 471
13.3.1 获取运行中的进程句柄 471
13.3.2 读写进程的地址空间 478
13.3.3 调试API的使用 482
13.4 进程的隐藏 491
13.4.1 在Windows 9x中隐藏进程 491
13.4.2 Windows NT中的远程执行绪 493
第14章 异常处理 505
14.1 异常处理的用途 505
14.2 使用筛选器处理异常 506
14.2.1 注册回调函式 506
14.2.2 异常处理回调函式 508
14.3 使用SEH处理异常 511
14.3.1 注册回调函式 513
14.3.2 异常处理回调函式 515
14.3.3 SEH链和异常的传递 518
14.3.4 展开操作(Unwinding) 519
第5篇 套用篇
第15章 注册表和INI档案 525
15.1 注册表和INI档案简介 525
15.2 INI档案的操作 526
15.2.1 INI档案的结构 526
15.2.2 管理键值 527
15.2.3 管理小节 535
15.2.4 使用不同的INI档案 536
15.3 对注册表的操作 537
15.3.1 注册表的结构 537
15.3.2 管理子键 539
15.3.3 管理键值 550
15.3.4 子键和键值的枚举 551
15.3.5 注册表套用举例 554
第16章 WinSock接口和网路编程 558
16.1 Windows Socket接口简介 559
16.2 Windows Socket接口的使用 562
16.2.1 IP位址的转换 562
16.2.2 套接字 566
16.2.3 网路应用程式的一般工作流程 568
16.2.4 监听、发起连线和接收连线 571
16.2.5 数据的收发 574
16.2.6 一个最简单的TCP服务端程式 577
16.3 TCP应用程式的设计 583
16.3.1 通信协定和工作执行绪的设计 583
16.3.2 TCP聊天室例子——伺服器端 593
16.3.3 TCP聊天室例子——客户端 600
16.3.4 以非阻塞方式工作的TCP聊天室客户端 607
16.3.5 其他常用函式 618
第17章 PE档案 622
17.1 PE档案的结构 622
17.1.1 概论 622
17.1.2 DOS档案头和DOS块 623
17.1.3 PE档案头(NT档案头) 625
17.1.4 节表和节 630
17.2 导入表 644
17.2.1 导入表简介 645
17.2.2 导入表的结构 647
17.2.3 查看PE档案导入表举例 649
17.3 导出表 652
17.3.1 导出表的结构 652
17.3.2 查看PE档案导出表举例 655
17.4 资源 658
17.4.1 资源简介 658
17.4.2 资源的组织方式 659
17.4.3 查看PE档案中的资源列表举例 663
17.5 重定位表 667
17.5.1 重定位表的结构 668
17.5.2 查看PE档案的重定位表举例 670
17.6 套用实例 672
17.6.1 动态获取API入口地址 672
17.6.2 在PE档案上添加执行代码 679
第18章 ODBC资料库编程 689
18.1 基础知识 689
18.1.1 资料库接口的发展历史 689
18.1.2 SQL语言 692
18.1.3 ODBC程式的流程 694
18.2 连线资料库 695
18.2.1 连线和断开资料库 695
18.2.2 连线字元串 700
18.3 数据的管理 703
18.3.1 执行SQL语句 703
18.3.2 执行结果的处理 708
18.3.3 获取结果集中的数据 710
18.3.4 事务处理 715
18.4 资料库操作的例子 717
18.4.1 结果集处理模组 718
18.4.2 例子的原始码 723
索引 734
参考文献 742

转载请注明出处海之美文 » Windows环境下32位彙编语言程式设计

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:ailianmeng11@163.com