Windows环境下32位汇编语言程序设计(典藏版)
《Windows环境下32位汇编语言程序设计(典藏版) 》基本信息作者: 罗云彬出版社:电子工业出版社ISBN:9787121207594上架时间:2013-7-8出版日期:2013 年7月开本:16开页码:756版次:1-1所属分类:计算机更多关于 》》》《Windows环境下32位汇编语言程序设计(典藏版) 》内容简介计算机书籍 windows环境下32位汇编语言是一种全新的编程语言。它使用与c++语言相同的api接口,不仅可以开发出大型的软件,而且是了解操作系统运行细节的最佳方式。 《windows环境下32位汇编语言程序设计(典藏版)》从编写应用程序的角度,从“hello,world!”这个简单的例子开始到编写多线程、注册表和网络通信等复杂的程序,通过70多个实例逐步深入windows环境下32位汇编语言编程的方方面面。 作者罗云彬拥有10余年汇编语言编程经验,本书是作者多年来编程工作的总结,适合于欲通过windows环境下32汇编语言编写windows程序的读者。目录《windows环境下32位汇编语言程序设计(典藏版)》基础篇第1章 背景知识11.1 win32的软硬件平台11.1.1 80x86系列处理器简史11.1.2 windows的历史31.1.3 win32平台的背后——wintel联盟51.2 windows的特色61.3 必须了解的基础知识71.3.1 80x86处理器的工作模式71.3.2 windows的内存管理91.3.3 windows的特权保护17第2章 准备编程环境212.1 win32可执行文件的开发过程212.2 编译器和链接器232.2.1 masm系列232.2.2 tasm系列272.2.3 其他编译器282.2.4 masm,tasm还是nasm292.2.5 我们的选择——masm32 sdk软件包30.2.3 创建资源322.3.1 资源编译器的使用322.3.2 所见即所得的资源编辑器322.4 make工具的用法342.4.1 make工具是什么342.4.2 nmake的用法352.4.3 描述文件的语法362.5 获取资料402.5.1 windows资料的来源402.5.2 intel处理器资料422.6 构建编程环境422.6.1 ide还是命令行432.6.2 本书推荐的工作环境432.6.3 尝试编译第一个程序45第3章 使用masm473.1 win32汇编源程序的结构473.1.1 模式定义493.1.2 段的定义513.1.3 程序结束和程序入口543.1.4 注释和换行543.2 调用api553.2.1 api是什么553.2.2 调用api563.2.3 api参数中的等值定义613.3 标号、变量和数据结构633.3.1 标号633.3.2 全局变量653.3.3 局部变量663.3.4 数据结构693.3.5 变量的使用713.4 使用子程序753.4.1 子程序的定义763.4.2 参数传递和堆栈平衡773.5 高级语法793.5.1 条件测试语句803.5.2 分支语句813.5.3 循环语句833.6 代码风格853.6.1 变量和函数的命名863.6.2 代码的书写格式883.6.3 代码的组织89初级篇第4章 第一个窗口程序904.1 开始了解窗口904.1.1 窗口是什么904.1.2 窗口界面914.1.3 窗口程序是怎么工作的924.2 分析窗口程序994.2.1 模块和句柄994.2.2 创建窗口1014.2.3 消息循环1084.2.4 窗口过程1104.3 窗口间的通信1154.3.1 窗口间的消息互发1154.3.2 在窗口间传递数据1194.3.3 sendmessage和postmessage函数的区别119第5章 使用资源1215.1 菜单和加速键1215.1.1 菜单和加速键的组成1215.1.2 菜单和加速键的资源定义1225.1.3 使用菜单和加速键1285.2 图标和光标1405.2.1 图标和光标的资源定义1415.2.2 使用图标和光标1415.3 位图1455.3.1 位图简介1455.3.2 在资源中定义位图1465.4 对话框1475.4.1 对话框简介1475.4.2 对话框的资源定义1495.4.3 使用对话框1515.4.4 在对话框中使用子窗口控件1545.5 字符串资源1775.6 版本信息资源1785.6.1 版本信息资源的定义1795.6.2 在程序中检测版本信息1815.7 二进制资源和自定义资源1835.7.1 使用二进制资源1835.7.2 使用自定义资源184第6章 定时器和windows时间1856.1 定时器1856.1.1 定时器简介1856.1.2 定时器的使用方法1866.2 windows时间1906.2.1 windows时间的获取和设置1906.2.2 计算时间间隔191第7章 图形操作1937.1 gdi原理1937.1.1 gdi程序的结构1947.1.2 设备环境1977.1.3 色彩和坐标2037.2 绘制图形2057.2.1 画笔和画刷2127.2.2 绘制像素点2167.2.3 绘制图形2167.2.4 绘图模式2217.3 创建和使用位图2227.3.1 一个使用位图的时钟例子2227.3.2 创建和使用位图2327.3.3 使用设备无关位图2337.4 块传送操作2357.4.1 块传送方式2367.4.2 块传送函数2377.5 区域和路径2417.5.1 使用区域2417.5.2 使用路径243界面篇第8章 通用对话框2458.1 通用对话框简介2458.2 使用通用对话框2528.2.1 “打开”文件和“保存”文件对话框2528.2.2 字体选择对话框2548.2.3 “颜色”选择对话框2568.2.4 “查找”和“替换”文本对话框2578.2.5 “页面设置”对话框2608.2.6 “浏览目录”对话框261第9章 通用控件2629.1 通用控件简介2629.1.1 通用控件的分类2629.1.2 使用通用控件2639.2 使用状态栏2689.2.1 创建状态栏2739.2.2 状态栏的控制消息2749.2.3 在状态栏上显示菜单提示信息2769.3 使用工具栏2779.3.1 创建工具栏2849.3.2 工具栏的控制消息2879.3.3 工具栏的通知消息2909.4 使用richedit控件2949.4.1 创建richedit控件3059.4.2 richedit控件的控制消息3079.4.3 richedit控件的通知消息3179.5 窗口的子类化3189.5.1 什么是窗口的子类化3189.5.2 窗口子类化的实现3199.6 控件的超类化3259.6.1 什么是控件的超类化3259.6.2 控件超类化的实现325系统篇第10章 内存管理和文件操作33010.1 内存管理33010.1.1 内存管理基础33010.1.2 内存的当前状态33110.1.3 标准内存管理函数33310.1.4 堆管理函数33810.1.5 虚拟内存管理函数34310.1.6 其他内存管理函数34710.2 文件操作34810.2.1 windows的文件i/o34810.2.2 创建和读写文件35010.2.3 查找文件36010.2.4 文件属性36810.2.5 其他文件操作36910.3 驱动器和目录37110.3.1 逻辑驱动器操作37210.3.2 目录操作37510.4 内存映射文件37710.4.1 内存映射文件简介37710.4.2 使用内存映射文件379第11章 动态链接库和钩子38811.1 动态链接库38811.1.1 动态链接库的概念38811.1.2 编写动态链接库38911.1.3 使用动态链接库39511.1.4 动态链接库中的数据共享40411.1.5 在vc++中使用动态链接库40511.2 windows钩子40811.2.1 什么是windows钩子40811.2.2 远程钩子的安装和使用41011.2.3 日志记录钩子418第12章 多线程42212.1 进程和线程42212.2 多线程编程42312.2.1 一个单线程的“问题程序”42312.2.2 多线程的解决方法42712.2.3 与线程有关的函数43112.3 使用事件对象控制线程43512.3.1 事件43612.3.2 等待事件43712.3.3 进一步改进计数程序43912.4 线程间的同步44112.4.1 产生同步问题的原因44112.4.2 各种用于线程间同步的对象446第13章 过程控制45413.1 环境变量和命令行参数45413.1.1 环境变量45413.1.2 命令行参数45713.2 执行可执行文件46213.2.1 方法一:shell调用46213.2.2 方法二:创建进程46413.3 进程调试47313.3.1 获取运行中的进程句柄47313.3.2 读写进程的地址空间48013.3.3 调试api的使用48413.4 进程的隐藏49413.4.1 在windows 9x中隐藏进程49413.4.2 windows nt中的远程线程495第14章 异常处理50814.1 异常处理的用途50814.2 使用筛选器处理异常50914.2.1 注册回调函数50914.2.2 异常处理回调函数51114.3 使用seh处理异常51514.3.1 注册回调函数51614.3.2 异常处理回调函数51814.3.3 seh链和异常的传递52114.3.4 展开操作(unwinding)523应用篇第15章 注册表和ini文件52715.1 注册表和ini文件简介52715.2 ini文件的操作52815.2.1 ini文件的结构52815.2.2 管理键值52915.2.3 管理小节53715.2.4 使用不同的ini文件53815.3 对注册表的操作53915.3.1 注册表的结构53915.3.2 管理子键54115.3.3 管理键值55215.3.4 子键和键值的枚举55315.3.5 注册表应用举例557第16章 winsock接口和网络编程56016.1 windows socket接口简介56116.2 windows socket接口的使用56416.2.1 ip地址的转换56416.2.2 套接字56816.2.3 网络应用程序的一般工作流程57116.2.4 监听、发起连接和接收连接57416.2.5 数据的收发57716.2.6 一个最简单的tcp服务端程序58016.3 tcp应用程序的设计58616.3.1 通信协议和工作线程的设计58716.3.2 tcp聊天室例子——服务器端59616.3.3 tcp聊天室例子——客户端60416.3.4 以非阻塞方式工作的tcp聊天室客户端61116.3.5 其他常用函数622第17章 pe文件62617.1 pe文件的结构62617.1.1 概论62617.1.2 dos文件头和dos块62717.1.3 pe文件头(nt文件头)62917.1.4 节表和节63417.2 导入表64917.2.1 导入表简介64917.2.2 导入表的结构65117.2.3 查看pe文件导入表举例65417.3 导出表65717.3.1 导出表的结构65717.3.2 查看pe文件导出表举例66017.4 资源66317.4.1 资源简介66317.4.2 资源的组织方式66417.4.3 查看pe文件中的资源列表举例66817.5 重定位表67217.5.1 重定位表的结构67317.5.2 查看pe文件的重定位表举例67517.6 应用实例67717.6.1 动态获取api入口地址67717.6.2 在pe文件上添加执行代码684第18章 odbc数据库编程69418.1 基础知识69418.1.1 数据库接口的发展历史69418.1.2 sql语言69718.1.3 odbc程序的流程69918.2 连接数据库70018.2.1 连接和断开数据库70018.2.2 连接字符串70618.3 数据的管理70918.3.1 执行sql语句70918.3.2 执行结果的处理71418.3.3 获取结果集中的数据71618.3.4 事务处理72118.4 数据库操作的例子72318.4.1 结果集处理模块72418.4.2 例子的源代码729参考文献740附录a、b、c(见本书配套光盘)本图书信息来源:互动出版网
?