Windows 32位汇编
- 博客分类:
- 技术杂绘
Windows 32位汇编
2011年05月07日
第2章 准备编程环境
2.5 获 取 资 料
对于程序员来说,“高手”和“菜鸟”之间的区别实际上只有两个因素:一是从事编程时间的长短不同,使经验的多少有所区别;第二个因素就是手头掌握资料的多少了,因为很多问题并不是靠自己钻研可以解决的,必须靠资料,试想在写DOS汇编程序时如果没有中断手册,可以自己钻研出来吗?实际上,大部分“菜鸟”向“高手”问的问题完全可以由参考资料解决,即使一个“菜鸟”对某个问题暂时不懂,但手头有解决问题的详细资料,经过一段时间的钻研,问题自然会解决。“高手”就是这样慢慢练成的。
在Win32汇编编程中,资料显得尤其重要。在DOS时代,整个操作系统的大小不过几十KB,所有的BASIC和C命令基本上都可以直接用人脑记忆下来,用于汇编编程的中断手册也基本上可以让人记住常用的部分。
不过,当时钟走到21世纪的时候,软件规模飞速膨胀,仅是开发工具就动辄几十MB,更不用说复杂的操作系统及其他软件了,所以现在完成一件最基本的事情都必须从文档中寻找合适的方法,大部分程序员手边的文档比字典还要厚几倍,并且,在这些浩如烟海的文档中苦苦寻找之后,还不一定能找出一个满意的解答。像Windows就是一个数据结构的迷宫,其API的资料远比DOS下的中断资料要多,在这种情况下,程序员的经验可以在程序的优化和调试方面发挥作用,但如果没有资料,连程序都写不出来,就谈不到优化和调试了。
在硬件方面,处理器的发展也很快,图书市场上的资料往往要慢一个节拍,国内的图书尤其如此,想了解最新的指令集就必须到厂家的网站上下载最新资料。所以程序员需要一个强大的信息网络来方便信息的查找,方便与软件开发商的交流,特别是通过Internet。
目前,各大软件开发商都具有各自的程序员信息网络,这些网络能为程序员提供特别的服务和帮助。所以要寻找编程资料,首选方案就是常接触这些网络,如Borland公司的Borland Community,Oracle公司的Oracle Technical Network,Sun公司的Sun Developer以及IBM公司的developerWorks等。
2.5.1 Windows资料的来源
要获取Windows的资料自然要到它的老窝――Microsoft的站点上去,Microsoft的程序员网络是MSDN(Microsoft Developers Network),在这里可以获得微软所有产品和操作系统的相关信息。它的网址是http://msdn.microsoft.com。
MSDN是一个内容非常全面的信息网络。现在这个网络一共有300万注册用户,它不仅在互联网上建立了网站,并且也发行MSDN杂志以及可供订阅的CD和DVD,其中包括编程信息、技术论文、操作系统、文档、工具、程序代码以及新产品的Beta测试包。MSDN的技术支持方式既有免费信息服务,也有收费的服务,例如,订阅MSDN的印刷品以及购买MSDN的CD和DVD等,购买MSDN实际上等于购买了一种服务。
MSDN的收费服务是以订阅形式出现的一年4期的光盘资料库,它有3个版本:
● MSDN开发库:有知识库和一些例子代码,一般是20张左右的光盘,可以联机检索,一般可以从这里找到全部的API资料、大量的基础知识和代码。
● MSDN专业版:包括MSDN开发库的全部内容,再加上Microsoft操作系统类软件,SDK(Software Development Kit)和DDK(Device Driver Development Kit)。SDK和DDK是软件开发包和驱动程序开发包,它们包括开发软件或驱动程序的头文件、例子以及一些开发工具,要想知道一个课题的最佳解决方案就是去看对应的SDK和DDK中的例子文件。
● MSDN宇宙版:包括MSDN专业版的内容,还包括Microsoft所有软件,如Windows 2000,Office和SQL Server等,用户从一个软件Beta版时就可以开始评估使用,使开发人员可以最早拿到最新的技术与资料,但这些产品不能用于企业环境去架构网络。
MSDN的订阅费用不菲,3个版本每年的订阅费用分别为1 500元、8 200元和29 000元,这显然是一笔不小的费用,所以很多程序员还是选择在Microsoft的站点上使用联机版本,但MSDN站点在内容上显得稍微过繁,有人对此的评论是:“Microsoft每次都会提供大量的资料,以至于可能需要费些力气才能找到所需的东西,不过这总比什么都不提供强”。
从网上也可以找到MSDN的各种独立部分分别下载,如各种版本的SDK和DDK等,当然这不会在Microsoft自己的站点上。同时从网上也可以找到一些单独分离出来的帮助文件,如《Microsoft Win32 Programmer's Reference》,《Win32 Multimedia Programmer's Reference》,《OpenGL Programmer's Reference》,《Windows Sockets2 Application Program Interface》以及其他几乎所有的程序员手册,它们中间包括了对应的API函数的详细资料。
使用这些Windows资料时要注意它们几乎全部是以C语言的语法提供的,因为在Win32的环境下,不管是什么语言,全部都是建立在Win32 API的基础上的,而Windows本身就是用C开发的。我们要写Win32汇编程序,参考资料也只好使用这些C的版本,这就要求读者对C语言中函数的定义、数据类型和数据结构的定义等有基础的了解。也正因如此,如果读者有用MFC编写Windows程序的经验,看完了这本书以后一定会说:“汇编,C,Windows,怎么是同一回事?”的确,在Win32环境下,所有的语言实际上是一回事,只不过Visual FoxPro,Visual BASIC等软件对API以及Windows的消息体系封装很深,Visual C++和C++ Builder等软件相对少一点,而汇编不加任何封装。
有了足够的参考资料以后,并不代表着就可以用汇编编写出常用的Win32程序了,因为毕竟这些只是金字塔的一个底边而已,爬上去的路就是学习的过程,中间最好的参考就是Win32汇编的教程和例子,Internet上有很多的站点是关于Win32汇编编程的,这里列出几个站点,读者可以从这些站点的链接中找到其他很多的相关站点:
● MASM32软件包的官方站点――http://www.movsd.com
包括MASM32软件包下载、简单的Win32汇编例子和一些网站链接。
● Iczlion的Win32汇编站点――http://win32asm.cjb.net
最著名的英文Win32汇编站点,包括Iczlion书写的Win32汇编教程、大量的例子和一个讨论区。这个网站需要用代理服务器访问。
● 笔者的Win32汇编站点――http://asm.yeah.net
中文Win32汇编站点,有Iczlion汇编教程的中文版以及其他的一些教程,也包括大量例子,有一个中文的Win32汇编讨论区。
2.5.2 Intel处理器资料
Win32汇编参考资料另一个重要部分是Intel处理器的资料,这些资料大部分可以在Intel的官方网站上找到,网址是http://www.intel.com,但Intel的网站存在和Microsoft的网站同样的问题,就是资料“太多”了反而不容易查找。
Intel发布的资料大部分是以PDF格式出现的,每一类文件有惟一的编号,可以用编号或资料名称从网站的搜索栏中找到对应的PDF文件,和Win32汇编编程密切相关的是处理器结构和指令集的参考资料―Intel处理器软件开发员手册《Intel Architecture Software Developer's Manual》,它由3个部分组成:
● 第一部分:基本体系(BASIC Architecture),编号24547004;
● 第二部分:指令集参考(Instruction Set Reference),编号24547104;
● 第三部分:编程指南(System Programming Guide),编号24547204。
编号中的前缀245470、245471和245472是文件编号,后面的04表示修订版本是第4次,读者可以在Intel的网站中输入文件编号找到这几个文件并下载使用。它们包括了最新的MMX和SSE指令的用法。
发表评论
-
批量修改多个文件内容的脚本
2012-01-20 02:17 747批量修改多个文件内容的脚本 2010年07月30日 如果 ... -
PowerShell 2.0之使用WMI管理Windows(二)PowerShell操作WMI
2012-01-20 02:17 762PowerShell 2.0之使用WMI管理Windows(二 ... -
IIS 服务器没有及时响应启动或控制请求 未启动 启动 world wide web publishing服务 127 找不到指定程序
2012-01-20 02:17 580IIS 服务器没有及时响应启动或控制请求 未启动 启动 wor ... -
vbs脚本:DeleteFolder
2012-01-20 02:17 596vbs脚本:DeleteFolder 2010年08月08日 ... -
QTP使用技巧(1)
2012-01-20 02:17 633QTP使用技巧(1) 2011年06 ... -
论文《浅谈中国古代建筑艺术》
2012-01-19 10:07 927论文《浅谈中国古代建 ... -
中国古代建筑
2012-01-19 10:07 564中国古代建筑 2010年06月11日 中国古代建筑是中华 ... -
中国法制史1
2012-01-19 10:07 494中国法制史1 2011年06月24日 中国法制史一、夏商 ... -
【转】中国古代尚黄习俗成因新探
2012-01-19 10:07 637【转】中国古代尚黄习俗成因新探 2010年06月12日 ... -
中国古代礼节
2012-01-19 10:07 676中国古代礼节 2011年09 ... -
关于Android的一些设计
2012-01-17 02:48 490关于Android的一些设计 2012年01月13日 ... -
Windows Phone开发环境安装完成
2012-01-17 02:48 683Windows Phone开发环境安装完成 2011年12月 ... -
c++在Windows下枚举所有进程
2012-01-17 02:48 1226c++在Windows下枚举所有进 ... -
开发者眼中Windows Phone 7的进步与退步
2012-01-17 02:48 662开发者眼中Windows Phone 7 ... -
越南旅游攻略??转载
2012-01-15 22:25 691越南旅游攻略??转载 201 ... -
谷歌找客户的方法
2012-01-15 22:24 493谷歌找客户的方法 2011年12月16日 Wind怎么利 ... -
2010年第八届中国机械(越南)展览会
2012-01-15 22:24 6062010年第八届中国机械(越南)展览会 2009年11月05 ... -
2011年第十届中国机械(越南)展览会
2012-01-15 22:24 5072011年第十届中国机械(越南)展览会 2010年11月22 ...
相关推荐
Windows32位汇编语言罗云彬
WINDOWS下32位汇编语言程序设计 代码 WINDOWS下32位汇编语言程序设计 代码
Windows环境下32位汇编语言程序设计 第2版(罗文斌) 完整光盘内容,包含每章内容的完整代码 本光盘所包含目录的说明 根目录下的 *.pdf ;附录A、B、C的电子版文档 Chapter02\Test ;测试编译环境 Chapter03\Hello...
Windows环境下32位汇编语言程序设计源码,学习windows 汇编
辰灿汇编语言集成开发环境(CCASM) 3.2 windows 32 位汇编语言开发工具。仿VC6.0界面。 方便的编辑功能: 自动提示函数参数,自动提示并完成结构体成员。 自动将相关代码分层,可以折叠隐藏某段代码。 自动将...
Windows环境下32位汇编语言程序设计电子版
Windows.环境下32位汇编语言程序设计
Windows环境下32位汇编语言程序设计随书源代码(全) Windows环境下32位汇编语言程序设计随书源代码(全) Windows环境下32位汇编语言程序设计随书源代码(全) Windows环境下32位汇编语言程序设计随书源代码(全)
Windows32位汇编语言程序,课程设计求大数阶乘。这个程序可能求1000以内的阶乘。
Windows环境下32位汇编语言是一种全新的编程语言。它使用与C++语言相同的API接口,不仅可以用来开发出大型的软件,而且是了解操作系统运行细节的最佳方式。本书从编写应用程序的角度,从“Hello World!”这个简单的...
《Windows环境下32位汇编语言程序设计》作者罗云彬拥有十余年汇编语言编程经验,是汇编编程网站http://asm.yeah.net和汇编编... (展开全部) 目录 · · · · · · 第1章 背景知识 第2章 准备编程环境 第3章 使用...
网络教程收集 Iczelion的汇编教程、ODBC、Vxd虚拟设备驱动 编程、罗云彬的Win32汇编教程
Windows环境下32位汇编语言.chm Windows环境下32位汇编语言.chm Windows环境下32位汇编语言.chm 欢迎下载
编程高手罗云彬的经典之作《Windows环境下32位汇编程序设计 》的附书代码
Windows环境下32位汇编语言程序设计(典藏版)(带书签):本书从编写应用程序的角度,从“Hello World!”这个简单的例子开始到编写多线程、注册表和网络通信等复杂的程序,通过70多个实例逐步深入Win32汇编语言编程的...
( Windows环境下32位汇编语言程序设计(1)CHM + 源码.rar )
Windows环境下32位汇编语言程序设计源代码