Windows环境下32位汇编语言程序设计(典藏版)

《Windows环境下32位汇编语言程序设计(典藏版)》
基本信息
作者: 罗云彬   
出版社:电子工业出版社
ISBN:9787121207594
上架时间:2013-7-8
出版日期:2013 年7月
开本:16开
页码:756
版次:1-1
所属分类:计算机
20130708152056093
内容简介
    计算机书籍
  windows环境下32位汇编语言是一种全新的编程语言。它使用与c++语言相同的api接口,不仅可以开发出大型的软件,而且是了解操作系统运行细节的最佳方式。
   《windows环境下32位汇编语言程序设计(典藏版)》从编写应用程序的角度,从“hello,world!”这个简单的例子开始到编写多线程、注册表和网络通信等复杂的程序,通过70多个实例逐步深入windows环境下32位汇编语言编程的方方面面。
   作者罗云彬拥有10余年汇编语言编程经验,本书是作者多年来编程工作的总结,适合于欲通过windows环境下32汇编语言编写windows程序的读者。 
目录
《windows环境下32位汇编语言程序设计(典藏版)》 
基础篇 
第1章 背景知识
1.1 win32的软硬件平台
1.1.1 80x86系列处理器简史
1.1.2 windows的历史
1.1.3 win32平台的背后——wintel联盟
1.2 windows的特色
1.3 必须了解的基础知识
1.3.1 80x86处理器的工作模式
1.3.2 windows的内存管理
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 
5.3 位图 145 
5.3.1 位图简介 145 
5.3.2 在资源中定义位图 146 
5.4 对话框 147 
5.4.1 对话框简介 147 
5.4.2 对话框的资源定义 149 
5.4.3 使用对话框 151 
5.4.4 在对话框中使用子窗口控件 154 
5.5 字符串资源 177 
5.6 版本信息资源 178 
5.6.1 版本信息资源的定义 179 
5.6.2 在程序中检测版本信息 181 
5.7 二进制资源和自定义资源 183 
5.7.1 使用二进制资源 183 
5.7.2 使用自定义资源 184 
第6章 定时器和windows时间 185 
6.1 定时器 185 
6.1.1 定时器简介 185 
6.1.2 定时器的使用方法 186 
6.2 windows时间 190 
6.2.1 windows时间的获取和设置 190 
6.2.2 计算时间间隔 191 
第7章 图形操作 193 
7.1 gdi原理 193 
7.1.1 gdi程序的结构 194 
7.1.2 设备环境 197 
7.1.3 色彩和坐标 203 
7.2 绘制图形 205 
7.2.1 画笔和画刷 212 
7.2.2 绘制像素点 216 
7.2.3 绘制图形 216 
7.2.4 绘图模式 221 
7.3 创建和使用位图 222 
7.3.1 一个使用位图的时钟例子 222 
7.3.2 创建和使用位图 232 
7.3.3 使用设备无关位图 233 
7.4 块传送操作 235 
7.4.1 块传送方式 236 
7.4.2 块传送函数 237 
7.5 区域和路径 241 
7.5.1 使用区域 241 
7.5.2 使用路径 243 
界面篇 
第8章 通用对话框 245 
8.1 通用对话框简介 245 
8.2 使用通用对话框 252 
8.2.1 “打开”文件和“保存”文件对话框 252 
8.2.2 字体选择对话框 254 
8.2.3 “颜色”选择对话框 256 
8.2.4 “查找”和“替换”文本对话框 257 
8.2.5 “页面设置”对话框 260 
8.2.6 “浏览目录”对话框 261 
第9章 通用控件 262 
9.1 通用控件简介 262 
9.1.1 通用控件的分类 262 
9.1.2 使用通用控件 263 
9.2 使用状态栏 268 
9.2.1 创建状态栏 273 
9.2.2 状态栏的控制消息 274 
9.2.3 在状态栏上显示菜单提示信息 276 
9.3 使用工具栏 277 
9.3.1 创建工具栏 284 
9.3.2 工具栏的控制消息 287 
9.3.3 工具栏的通知消息 290 
9.4 使用richedit控件 294 
9.4.1 创建richedit控件 305 
9.4.2 richedit控件的控制消息 307 
9.4.3 richedit控件的通知消息 317 
9.5 窗口的子类化 318 
9.5.1 什么是窗口的子类化 318 
9.5.2 窗口子类化的实现 319 
9.6 控件的超类化 325 
9.6.1 什么是控件的超类化 325 
9.6.2 控件超类化的实现 325 
系统篇 
第10章 内存管理和文件操作 330 
10.1 内存管理 330 
10.1.1 内存管理基础 330 
10.1.2 内存的当前状态 331 
10.1.3 标准内存管理函数 333 
10.1.4 堆管理函数 338 
10.1.5 虚拟内存管理函数 343 
10.1.6 其他内存管理函数 347 
10.2 文件操作 348 
10.2.1 windows的文件i/o 348 
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 目录操作 375 
10.4 内存映射文件 377 
10.4.1 内存映射文件简介 377 
10.4.2 使用内存映射文件 379 
第11章 动态链接库和钩子 388 
11.1 动态链接库 388 
11.1.1 动态链接库的概念 388 
11.1.2 编写动态链接库 389 
11.1.3 使用动态链接库 395 
11.1.4 动态链接库中的数据共享 404 
11.1.5 在vc++中使用动态链接库 405 
11.2 windows钩子 408 
11.2.1 什么是windows钩子 408 
11.2.2 远程钩子的安装和使用 410 
11.2.3 日志记录钩子 418 
第12章 多线程 422 
12.1 进程和线程 422 
12.2 多线程编程 423 
12.2.1 一个单线程的“问题程序” 423 
12.2.2 多线程的解决方法 427 
12.2.3 与线程有关的函数 431 
12.3 使用事件对象控制线程 435 
12.3.1 事件 436 
12.3.2 等待事件 437 
12.3.3 进一步改进计数程序 439 
12.4 线程间的同步 441 
12.4.1 产生同步问题的原因 441 
12.4.2 各种用于线程间同步的对象 446 
第13章 过程控制 454 
13.1 环境变量和命令行参数 454 
13.1.1 环境变量 454 
13.1.2 命令行参数 457 
13.2 执行可执行文件 462 
13.2.1 方法一:shell调用 462 
13.2.2 方法二:创建进程 464 
13.3 进程调试 473 
13.3.1 获取运行中的进程句柄 473 
13.3.2 读写进程的地址空间 480 
13.3.3 调试api的使用 484 
13.4 进程的隐藏 494 
13.4.1 在windows 9x中隐藏进程 494 
13.4.2 windows nt中的远程线程 495 
第14章 异常处理 508 
14.1 异常处理的用途 508 
14.2 使用筛选器处理异常 509 
14.2.1 注册回调函数 509 
14.2.2 异常处理回调函数 511 
14.3 使用seh处理异常 515 
14.3.1 注册回调函数 516 
14.3.2 异常处理回调函数 518 
14.3.3 seh链和异常的传递 521 
14.3.4 展开操作(unwinding) 523 
应用篇 
第15章 注册表和ini文件 527 
15.1 注册表和ini文件简介 527 
15.2 ini文件的操作 528 
15.2.1 ini文件的结构 528 
15.2.2 管理键值 529 
15.2.3 管理小节 537 
15.2.4 使用不同的ini文件 538 
15.3 对注册表的操作 539 
15.3.1 注册表的结构 539 
15.3.2 管理子键 541 
15.3.3 管理键值 552 
15.3.4 子键和键值的枚举 553 
15.3.5 注册表应用举例 557 
第16章 winsock接口和网络编程 560 
16.1 windows socket接口简介 561 
16.2 windows socket接口的使用 564 
16.2.1 ip地址的转换 564 
16.2.2 套接字 568 
16.2.3 网络应用程序的一般工作流程 571 
16.2.4 监听、发起连接和接收连接 574 
16.2.5 数据的收发 577 
16.2.6 一个最简单的tcp服务端程序 580 
16.3 tcp应用程序的设计 586 
16.3.1 通信协议和工作线程的设计 587 
16.3.2 tcp聊天室例子——服务器端 596 
16.3.3 tcp聊天室例子——客户端 604 
16.3.4 以非阻塞方式工作的tcp聊天室客户端 611 
16.3.5 其他常用函数 622 
第17章 pe文件 626 
17.1 pe文件的结构 626 
17.1.1 概论 626 
17.1.2 dos文件头和dos块 627 
17.1.3 pe文件头(nt文件头) 629 
17.1.4 节表和节 634 
17.2 导入表 649 
17.2.1 导入表简介 649 
17.2.2 导入表的结构 651 
17.2.3 查看pe文件导入表举例 654 
17.3 导出表 657 
17.3.1 导出表的结构 657 
17.3.2 查看pe文件导出表举例 660 
17.4 资源 663 
17.4.1 资源简介 663 
17.4.2 资源的组织方式 664 
17.4.3 查看pe文件中的资源列表举例 668 
17.5 重定位表 672 
17.5.1 重定位表的结构 673 
17.5.2 查看pe文件的重定位表举例 675 
17.6 应用实例 677 
17.6.1 动态获取api入口地址 677 
17.6.2 在pe文件上添加执行代码 684 
第18章 odbc数据库编程 694 
18.1 基础知识 694 
18.1.1 数据库接口的发展历史 694 
18.1.2 sql语言 697 
18.1.3 odbc程序的流程 699 
18.2 连接数据库 700 
18.2.1 连接和断开数据库 700 
18.2.2 连接字符串 706 
18.3 数据的管理 709 
18.3.1 执行sql语句 709 
18.3.2 执行结果的处理 714 
18.3.3 获取结果集中的数据 716 
18.3.4 事务处理 721 
18.4 数据库操作的例子 723 
18.4.1 结果集处理模块 724 
18.4.2 例子的源代码 729 
参考文献 740 
附录a、b、c(见本书配套光盘)
图书信息来源: 互动出版网

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16566727/viewspace-765784/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/16566727/viewspace-765784/

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 ;用多线程的方
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值