出版时间:2003.3 出版社:电子工业出版社 作者:罗云彬 页数:742
Tag标签:无
前言
从Windows出现开始,汇编语言似乎在慢慢地销声匿迹,但本书可以让人放弃这个观点,其实在Win32环境下,汇编语言依然强大。 Why——为什么选择Win32汇编选择Win32汇编的理由是什么呢?在DOS时代,学习汇编就是学习系统底层编程的代名词,仅要成为一名入门级的汇编程序员,就需要学习从CPU结构、CPU工作方式、各种硬件的编程方法到DOS工作方式等范围很广的知识。随着Windows时代的到来,Windows像一堵巨大的墙,把我们和计算机的硬件隔离开。
内容概要
《Windows环境下32位汇编语言程序设计》(第2版)从编写应用程序的角度,从“Hello World!”这个简单的例子开始到编写多线程、注册表和网络通信等复杂的程序,通过70多个实例逐步深入Win32汇编语言编程的方方面面。本书作者有十多年的汇编编程经验,很清楚初学者在哪些地方会遇到问题,所以本书在系统全面地介绍Win32汇编编程的同时,也穿插了很多作者的经验之谈,使读者能够快速入门并最终熟练地写出各种Windows应用程序。 Windows环境下32位汇编语言是一种全新的编程语言。它使用与C++语言相同的API接口,不仅可以用来开发出大型的软件,而且是了解操作系统运行细节的最佳方式。 注:本书附光盘
作者简介
罗云彬,软件工程师,现从事软件项目管理、软件工程实施、数据库应用等领域的工作,在Windows操作系统下的应用软件编程方面有丰富的经验,另外对Oracle数据库的管理有深入的研究,是国内为数不多的OCM证书获得者之一。 汇编语言编程是作者的一大爱好,作者自1990年开始即使用汇编语言编写程序,是Windows操作系统流行后国内最早研究Win32汇编编程的程序员之一,在1998年创建了专门探讨汇编编程的网站——htlp://asm.yeah.net,曾发表过大量关于汇编编程的文章和网上教程。
书籍目录
第1篇 基础篇第1章 背景知识1.1Win32的软硬件平台1.1.180x86系列处理器简史1.1.2Windows的历史1.1.3Win32平台的背后——Wintel联盟1.2Windows的特色1.3必须了解的东西1.3.180x86处理器的工作模式1.3.2windows的内存管理1.3.3windows的特权保护第2章 准备编程环境2.1Win32可执行文件的开发过程2.2编译器和链接器2.2.1MASM系列2.2.2TASM系列2.2.3其他编译器2.2.4MASM,TASM还是NASM2.2.5我们的选择——MASM32软件包2.3创建资源2.3.1资源编译器的使用2.3.2所见即所得的资源编辑器2.4make工具的用法2.4.1make工具是什么2.4.2nmake的用法2.4.3描述文件的语法2.5获取资料2.5.1Windows资料的来源2.5.2Intel处理器资料2.6构建编程环境2.6.1IDE还是命令行2.6.2本书推荐的工作环境2.6.3尝试编译第一个程序第3章 使用MASM3.1Win32汇编源程序的结构3.1.1模式定义3.1.2段的定义3.1.3程序结束和程序入口3.1.4注释和换行3.2调用API3.2.1API是什么3.2.2调用API3.2.3API参数中的等值定义3.3标号、变量和数据结构3.3.1标号3.3.2全局变量3.3.3局部变量3.3.4数据结构3.3.5变量的使用3.4使用子程序3.4.1子程序的定义3.4.2参数传递和堆栈平衡3.5高级语法3.5.1条件测试语句3.5.2分支语句3.5.3循环语句3.6代码风格3.6.1变量和函数的命名3.6.2代码的书写格式3.6.3代码的组织第2篇 初级篇第4章 第一个窗口程序4.1开始了解窗口4.1.1窗口是什么4.1.2窗口界面4.1.3窗口程序是怎么工作的4.2分析窗口程序4.2.1模块和句柄4.2.2创建窗口4.2.3消息循环4.2.4窗口过程4.3窗口间的通信4.3.1窗口间的消息互发4.3.2在窗口问传递数据4.3.3SendMessrdge和PostMessage函数的区别第5章 使用资源5.1菜单和加速键5.1.1菜单和加速键的组成5.1.2菜单和加速键的资源定义5.1.3使用菜单和加速键5.2图标和光标5.2.1图标和光标的资源定义5.2.2使用图标和光标5.3位图5.3.1位图简介5.3.2在资源中定义位图5.4对话框5.4.1对话框简介5.4.2对话框的资源定义5.4.3使用对话框5.4.4在对话框中使用子窗口控件5.5字符串资源5.6版本信息资源5.6.1版本信息资源的定义5.6.2在程序中检测版本信息5.7二进制资源和自定义资源5.7.1使用二进制资源5.7.2使用自定义资源第6章 定时器和Windows时间6.1定时器6.1.1定时器简介6.1.2定时器的使用方法6.2Windows时间6.2.1Windows时间的获取和设置6.2.2计算时间间隔第7章 图形操作7.1GDI原理7.1.1GDI程序的结构7.1.2设备环境7.1.3色彩和坐标7.2绘制图形7.2.1画笔和画刷7.2.2绘制像素点7.2.3绘制图形7.2.4绘图模式7.3创建和使用位图7.3.1一个使用位图的时钟例子7.3.2创建和使用位图7.3.3使用设备无关位图7.4块传送操作7.4.1块传送方式7.4.2块传送函数7.5区域和路径7.5.1使用区域7.5.2使用路径第3篇 界面篇第8章 通用对话框8.1通用对话框简介8.2使用通用对话框8.2.1“打开”文件和“保存”文件对话框8.2.2字体选择对话框8.2.3颜色选择对话框8.2.4“查找”和“替换”文本对话框8.2.5“页面设置”对话框8.2.6“浏览目录”对话框第9章 通用控件9.1通用控件简介9.1.1通用控件的分类9.1.2使用通用控件9.2使用状态栏9.2.1创建状态栏9.2.2状态栏的控制消息9.2.3在状态栏上显示菜单提示信息9.3使用工具栏9.3.1创建工具栏9.3.2工具栏的控制消息9.3.3工具栏的通知消息9.4使用Richedit控件9.4.1创建Richedit控件9.4.2Richedit控件的控制消息9.4.3Richedit控件的通知消息9.5窗口的子类化9.5.1什么是窗口的子类化9.5.2窗口子类化的实现9.6控件的超类化9.6.1什么是控件的超类化9.6.2控件超类化的实现第4篇 系统篇第10章 内存管理和文件操作10.1内存管理10.1.1内存管理基础10.1.2内存的当前状态10.1.3标准内存管理函数10.1.4堆管理函数10.1.5虚拟内存管理函数10.1.6其他内存管理函数10.2文件操作10.2.1Windows的文件I/O10.2.2创建和读写文件10.2.3查找文件10.2.4文件属性10.2.5其他文件操作10.3驱动器和目录10.3.1逻辑驱动器操作10.3.2目录操作10.4内存映射文件10.4.1内存映射文件简介10.4.2使用内存映射文件第11章 动态链接和钩子11.1动态链接库11.1.1动态链接库的概念11.1.2编写动态链接库11.1.3使用动态链接库11.1.4动态链接库中的数据共享11.1.5在VC++中使用动态链接库11.2Windows钩子11.2.1什么是Windows钩子11.2.2远程钩子的安装和使用11.2.3日志记录钩子第12章 多线程12.1进程和线程12.2多线程编程12.2.1一个单线程的“问题程序”12.2.2多线程的解决方法12.2.3与线程有关的函数12.3使用事件对象控制线程12.3.1事件12.3.2等待事件12.3.3进一步改进计数程序12.4线程间的同步12.4.1产生同步问题的原因12.4.2各种用于线程间同步的对象第13章 进程控制13.1环境变量和命令行参数13.1.1环境变量13.1.2命令行参数13.2执行可执行文件13.2.1方法一:Shell调用13.2.2方法二:创建进程13.3进程调试13.3.1获取运行中的进程句柄13.3.2读写进程的地址空间13.3.3调试API的使用13.4进程的隐藏13.4.1在Windows9x中隐藏进程13.4.2WindowsNT中的远程线程第14章 异常处理14.1异常处理的用途14.2使用筛选器处理异常14.2.1注册回调函数14.2.2异常处理回调函数14.3使用SEH处理异常14.3.1注册回调函数14.3.2异常处理回调函数14.3.3SEH链和异常的传递14.3.4展开操作(15nwinding)第5篇 应用篇第15章 注册表和INl文件15.1注册表和INI文件简介15.2INl文件的操作15.2.1INI文件的结构15.2.2管理键值15.2.3管理小节15.2.4使用不同的INI文件15.3对注册表的操作15.3.1注册表的结构15.3.2管理子键15.33管理键值15.3.4子键和键值的枚举15.3.5注册表应用举例第16章 WinSock接口和网络编程16.1Windows Socket接口简介16.2Windows Socket接口的使用16.2.1IP地址的转换16.2.2套接字16.2.3网络应用程序的一般工作流程16.2.4监听、发起连接和接收连接16.2.5数据的收发16.2.6一个最简单的TCP服务端程序16.3TCP应用程序的设计16.3.1通信协议和工作线程的设计16.3.2TCP聊天室例子——服务器端16.3.3TCP聊天室例子——客户端16.3.4以非阻塞方式工作的TCP聊天室客户端16.3.5其他常用函数第17章 PE文件17.1PE文件的结构17.1.1概论17.1.2IOS史件头和DOS块17.1.3PE文件头(NT文件头)17.1.4节表和节17.2导入表17.2.1导入表简介17.2.2导入表的结构.17.2.3查看PE文件导入表举例17.3导出表17.3.1导出表的结构17.3.2查看PE文件导出表举例17.4资源17.4.1资源简介17.4.2资源的组织方式17.4.3查看PE文件中的资源列表举例17.5重定位表17.5.1重定位表的结构17.5.2查看PE文件的重定位表举例17.6应用实例17.6.1动态获取API入口地址17.6.2在PE文件上添加执行代码第18章 ODBC数据库编程18.1基础知识18.1.1数据库接口的发展历史18.1.2SQL语言18.1.3ODBC程序的流程18.2连接数据库18.2.1连接和断开数据库18.2.2连接字符串18.3数据的管理18.3.1执行SQL语句18.3.2执行结果的处理18.3.3获取结果集中的数据18.3.4事务处理18.4数据库操作的例子18.4.1结果集处理模块18.4.2例子的源代码
编辑推荐
本书从编写应用程序的角度,从“Hello World!”这个简单的例子开始到编写多线程、注册表和网络通信等复杂的程序,通过70多个实例逐步深入Win32汇编语言编程的方方面面。本书作者有十多年的汇编编程经验,很清楚初学者在哪些地方会遇到问题,所以本书在系统全面地介绍Win32汇编编程的同时,也穿插了很多作者的经验之谈,使读者能够快速入门并最终熟练地写出各种Windows应用程序。
图书封面
图书标签Tags
无
评论、评分、阅读与下载