6、汇编学习从入门到精通(荐书)
- 格式:doc
- 大小:41.00 KB
- 文档页数:4
汇编语言入门教程汇编语言是一种低级机器语言的抽象表示形式,它将计算机底层的指令表示为可读的文本形式。
掌握汇编语言对于理解计算机硬件和编写高效的程序非常重要。
本教程将带您从零开始学习汇编语言的基础知识和编程技巧。
第一部分:介绍和准备工作1.1什么是汇编语言?1.2为什么要学习汇编语言?1.3汇编语言的基本特点和用途1.4开发环境的准备第二部分:汇编语言基础2.1数据表示和计算机内存2.2寄存器和指令2.3内存寻址方式2.4常用汇编指令2.5标志寄存器和条件分支指令第三部分:汇编语言编程技巧3.1数据的传递和处理3.2循环和分支结构3.3子程序的调用和返回3.4输入和输出操作3.5中断处理和异常控制第四部分:实例和应用4.1计算机硬件的控制4.2内存和外设的读写操作4.3实践项目和应用案例第五部分:调试和优化5.1调试汇编程序5.2性能优化和代码压缩技巧5.3代码的移植和扩展在学习汇编语言时,您需要了解计算机的基本结构和组成部分,包括中央处理器(CPU)、寄存器、内存等。
您还需要安装一款支持汇编语言的集成开发环境(IDE),并了解如何进行编译、调试和执行程序。
在学习汇编语言的基础知识时,您将学习如何表示和处理不同类型的数据,例如整数、浮点数和字符串。
您还将学习如何使用寄存器进行数据传输和计算,以及如何使用不同的寻址方式访问内存中的数据。
在学习汇编语言的编程技巧时,您将学习如何使用循环和分支结构进行条件判断和控制流程。
您还将学习如何编写子程序进行模块化的程序设计,并学习如何进行输入和输出操作以及异常处理。
通过实例和应用的学习,您将了解如何使用汇编语言实现一些常见的功能和操作。
例如,您将学习如何控制计算机硬件,如显示器、键盘和鼠标等。
您还将学习如何进行内存和外设的读写操作,以及如何处理中断和异常。
最后,您将学习如何调试和优化汇编程序,以确保程序的正确性和性能。
您将学习如何使用调试工具进行单步调试和变量跟踪,并学习如何进行代码的优化和压缩。
绍兴县教研室试点教材汉语编程工具易语言汉语编程工具易语言汉语编程工具易语言易语言教程――初级版目录目录..........................................................................................................................- 2 - 第一部分 易语言入门....................................................................................................- 3 - 第一课 走进“易”世界........................................................................................- 3 -一、打开“易语言”设计窗口........................................................................- 3 -二、认识“易语言”........................................................................................- 3 -三、第一个易程序............................................................................................- 5 -四、小结............................................................................................................- 6 -第二课 简单的人机交互........................................................................................- 7 -一、第一个交互程序........................................................................................- 7 -二、小结............................................................................................................- 9 -第三课 按钮与标签的综合运用..........................................................................- 10 - 第四课 图文并茂..................................................................................................- 12 - 第五课 看看计算机的计算能力..........................................................................- 14 - 第六课 让世界丰富多彩......................................................................................- 16 - 第七课 顺序程序结构..........................................................................................- 18 - 第八课 猜数(选择程序结构)..........................................................................- 21 - 第九课 多分支控制结构语句..............................................................................- 25 - 第十课 练习..........................................................................................................- 27 -一、选择题:..................................................................................................- 27 -二、编程题:..................................................................................................- 27 -第十一课 循环程序结构......................................................................................- 29 - 第十二课 循环程序结构练习..............................................................................- 33 -一、选择题......................................................................................................- 33 -二、编程题......................................................................................................- 34 -第十三课 菜单的设计..........................................................................................- 36 -一、菜单的基本概念......................................................................................- 36 -二、菜单编辑器的打开..................................................................................- 36 -三、设计下拉式菜单......................................................................................- 37 -第十四课 对话框..................................................................................................- 41 -一、提示类对话框..........................................................................................- 41 -二、自定义对话框..........................................................................................- 42 -三、通用对话框..............................................................................................- 43 -附录 实例应用荟萃..............................................................................................- 45 -绍兴县教研室试点教材第一部分 易语言入门第一课 走进“易”世界易语言介绍易语言是一款全中文全可视跨平台的编程工具,由大连大有吴涛易语言软件开发有限公司设计开发的,它的特点是全中文化,入门要求低,几乎只要懂得使用计算机和文字输入的人都可以进行程序设计,而且它的开发语言也是全中文的、生活化,这在今后的学习中我们会深刻体会到它的“易”。
编译原理入门最好的书
有很多优秀的编译原理入门书籍可以推荐,以下是一些常见的选择:
1.《编译原理》(原书第2版)- Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman
这本经典教材详细介绍了编译器的基本概念和技术,包含了很多实用的例子和习题,适合初学者入门。
2.《编译器设计》(龙书)- Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman
这本教材也是编译原理领域的经典之作,涵盖了编译器的设计与实现各个方面,内容较为详细,适合深入学习。
3.《编译原理导论》(原书第2版)- Michael L. Scott
这本教材通过简单清晰的方式介绍了编译器的基本概念,理论和实践相结合,适合初学者入门。
4.《现代编译原理》(原书第2版)- Andrew W. Appel
这本教材以现代编程语言(如Java,C等)为例,讲解了编译器的设计和实现原理,内容深入浅出,适合初学者和有一定编程经验的读者。
5.《计算机程序的构造与解释》- Harold Abelson, Gerald Jay Sussman, Julie Sussman
这本书是计算机科学经典教材,虽然不是专门讲解编译原理,但其中的第4章介绍了解释器的设计和实现,对于理解编译器
原理也有很大帮助。
以上书籍都是经典教材,适合编译原理入门学习。
根据自己的学习目标和对编译原理的深入程度要求,可以选择适合自己的教材进行学习。
编译原理书籍推荐
编译原理书籍推荐:
1.《编译原理》(龙书),作者:Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman
这本经典教材系统地介绍了编译原理的基本概念、原理和技术。
它包含了编译器设计与实现所需的知识,涉及词法分析、语法分析、语义分析、中间代码生成等内容。
2.《现代编译原理-C语言描述》,作者:Andrew W. Appel
这本书以C语言描述编译原理的各个方面,包括词法分析、
语法分析、语义分析、中间代码生成、代码优化和代码生成等。
适合初学者入门,易于理解和实践。
3.《编译器设计》(虎书),作者:阿巴基维尔编著
这本书以编译器设计和实现为主题,内容包括词法分析、语
法分析、语义分析、中间代码生成、代码优化和代码生成等。
它以编译器设计的实例为线索,使读者更易于理解和应用所学知识。
4.《编程语言实现模式》,作者:Terence Parr
这本书介绍了使用ANTLR工具进行编译器开发的实践方法
和技巧。
它通过实例来展示如何实现词法分析器、语法分析器和语义分析器等编译器模块。
5.《深入理解计算机系统》,作者:Randal E. Bryant, David R. O'Hallaron
这本书以计算机系统的层次结构为基础,介绍了编译器在系统中的地位和作用。
它涵盖了编译器的基本概念和技术,并介绍了与编译器相关的主题,如汇编语言、操作系统和计算机体系结构等。
这里推荐的书籍都是经典教材或实践指南,适合初学者入门和深入学习编译原理的读者。
C语言入门至精通(全集)1. C语言入门1.1 什么是C语言C语言是一种通用的编程语言,最初由贝尔实验室的Dennis M.Ritchie于20世纪70年代开发的,是一种用于UNIX操作系统开发的编程语言。
C语言是一种非常具有表达力的编程语言,它可以用来编写应用程序、系统软件以及各种设备驱动等。
1.2 C语言的发展历史C语言的历史可以追溯到20世纪70年代,当时贝尔实验室的DennisM.Ritchie和Ken Thompson正在开发一种新的操作系统——UNIX。
由于UNIX是用汇编语言开发的,开发效率非常低,因此Dennis M.Ritchie开始着手研究一种新的高级编程语言,这就是C语言。
C语言的第一个编译器是在贝尔实验室开发的,后来由于C语言具有非常好的表达能力,迅速被大量应用于各种领域,成为了一种非常流行的编程语言。
1.3 C语言的特点C语言有以下几个特点:•语法简洁:C语言的语法非常简洁,容易学习,因此非常适合初学者入门。
•高效性:C语言的代码执行效率非常高,可以用来编写各种性能要求较高的应用程序。
•可移植性:C语言可以在不同的操作系统平台上编译运行,具有很好的可移植性。
•功能强大:C语言可以操作内存、文件、网络等资源,具有很高的功能强大性。
•可扩展性:C语言的各种库非常丰富,可以方便地扩展其功能。
1.4 C语言入门指南要学好C语言,需要掌握以下几个方面的知识:•C语言的基本语法:C语言的基本语法包括数据类型、变量、运算符、循环、函数等。
•C语言的程序结构:C语言的程序结构由多个函数组成,需要学习如何编写和调用函数。
•C语言的指针:C语言非常注重内存管理,需要学习如何使用指针操作内存。
•C语言的文件操作:C语言可以用来操作文件,需要学习如何打开、读取和写入文件。
•C语言的预处理指令:C语言的预处理指令可以用来指定编译器的选项,需要学习如何使用预处理指令。
2. C语言进阶2.1 C语言高级编程技巧C语言具有非常高的表达力,可以用来编写高效、复杂的程序。
编译原理入门最好的书
《编译原理》(龙书):
这是一本非常经典的编译原理教材,被广泛认为是编译原理领域的权威之作。
全书内容详尽,从基本概念开始介绍,逐步深入,包括词法分析、语法分析、语义分析、中间代码生成、代码优化和代码生成等方面的知识。
书中结合了具体的例子和算法,对于初学者来说比较容易理解。
此外,书中还包含了大量的习题和项目,帮助读者巩固和应用所学知识。
《Crafting a Compiler with C》(Holub著):
这本书通过使用C语言来构建一个简单的编译器实现,使得编译原理这个抽象的概念更加具体和实践。
作者在书中将编译过程分为多个小步骤,通过逐个实现这些步骤来构建编译器。
书中提供了很多实例代码和示例,读者可通过跟着书中的步骤一步一步实现自己的编译器,加深对编译原理的理解。
《Compiler Design in C》(Holub著):
这本书也是Holub的著作,与前一本书相似,通过C语言来实现一个简单的编译器。
但相较于前一本书,这本书更加偏重于代码,更注重实践。
书中涵盖了编译器设计的方方面面,包括词法分析、语法分析、语义分析、代码生成等等。
对于希望通过实践来深入理解编译原理的读者来说,这本书是一个很好的选择。
总而言之,以上三本书均是非常适合初学者入门的编译原理教材,选择其中一本根据自己的学习风格和需求来进行学习。
适合计算机小白的书计算机小白适合阅读的书籍随着计算机技术的不断发展,计算机已经成为我们生活中不可或缺的一部分。
然而,对于计算机小白来说,学习计算机知识可能会感到困难和无从下手。
为了帮助计算机小白更好地入门,以下是一些适合他们阅读的书籍推荐。
1.《计算机科学与编程导论》这本书是由计算机科学家编写的,内容简洁明了,适合计算机小白入门。
书中介绍了计算机的基本概念、编程语言的基础知识以及常见的编程问题解决方法。
通过这本书,计算机小白可以了解到计算机科学的基本原理,为进一步学习打下坚实的基础。
2.《计算机网络导论》计算机网络是计算机科学中的重要分支,对于计算机小白来说,了解计算机网络的基本知识非常有必要。
这本书详细介绍了计算机网络的基本原理、网络协议和常见的网络安全问题。
通过学习这本书,计算机小白可以了解到计算机网络的工作原理,为日后的网络使用和维护提供基础支持。
3.《操作系统导论》操作系统是计算机的核心组成部分,也是计算机小白必须要了解的知识点之一。
这本书详细介绍了操作系统的基本概念、功能和原理。
通过学习这本书,计算机小白可以了解到操作系统的工作原理,为日常的计算机使用和故障排除提供基础知识。
4.《数据库系统概念》数据库是计算机应用中的重要组成部分,对于计算机小白来说,了解数据库的基本知识非常有必要。
这本书详细介绍了数据库的基本概念、数据库管理系统的原理和常见的数据库操作方法。
通过学习这本书,计算机小白可以了解到数据库的基本原理,为日后的数据库使用和管理提供基础支持。
以上是一些适合计算机小白阅读的书籍推荐。
通过阅读这些书籍,计算机小白可以了解到计算机科学的基本知识和原理,为日后的学习和实践打下基础。
希望这些推荐对计算机小白有所帮助!。
《汇编语言》学习指导书2003年9月《汇编语言》学习指导书1.课程的性质本课程授课对象是计算机与信息技术学院本科生,属于专业基础课。
计算机汇编程序知识是进行计算机程序设计的基础,它体现了计算机软件的基本原理,它对于进一步学习高级软件知识具有基石般的作用。
本课程直接教学目标是使学生学习IBM-PC计算机汇编语言程序设计的原理,掌握汇编语言程序实际编程能力。
同时,使学生较深刻的理解计算机软件知识的本质特征和实践原理。
2.本课程的基本要求本课程教材选用杨季文等编著《80X86汇编语言程序设计教程》(清华大学出版社)。
讲授绪论、寻址方式和指令系统、汇编语言及程序设计初步、子程序设计和DOS 功能调用、输入输出与中断等五章内容。
其中核心内容为汇编语言及程序设计初步。
本课程教学过程中强调实践性,从指令系统起,及其以后的各项教学内容,必须在学习书本知识的同时,进行配合上机实验。
学习过程中还要与《计算机原理》课程中讲授的知识紧密地、有机地联系在一起,形成互动,达到加深对计算机原理(含硬件原理和软件原理)理解,弄清楚电子计算机系统中硬件、软件之间的联系与作用。
本课程基本教学要求是学习IBM-PC计算机汇编语言程序设计的原理,掌握汇编语言程序实际编程能力(简曰:会编程序)。
同时,使学生较深刻的理解计算机软件知识的本质特征和实践原理(简曰:理解软件)。
3.第一章主要内容提示与学习要求〖主要内容提示〗●机器语言(二进制指令代码)—〉(宏)汇编语言—〉高级语言的变化过程和内在含义。
●由汇编语言的特点出发,理解汇编语言的本质特征。
即计算机的CPU(控制器、计算器)与计算机软件中的程序指令代码的结合与作用方式。
●在第二点的基础上,理解汇编语言的“时空”概念。
●可以构造任意数制关系,如3进制,4进制等,但可能无实际应用意义。
不同数制之间可以转换,转换时依托十数制运算。
●计算机内表示数值数据是基本需要,在此基础上再是实现非数值的表示。
从零开始学习编程的7个最佳入门资源,零基础也能轻松入门1. 引言1.1 概述编程作为当今社会中一项重要技能,正在日益受到关注和重视。
然而,对于零基础的新手来说,学习编程可能是一个相对陌生和困难的过程。
因此,了解最佳的入门资源和学习路径规划对于顺利启动编程之旅至关重要。
本文将介绍七个最佳的入门资源,这些资源可以帮助零基础的人们轻松入门编程。
通过阅读本文,读者将了解如何选择适合自己的学习方法和平台,并获得相关资源推荐。
不仅如此,本文还将强调持续学习的重要性,并提供进一步发展与探索编程领域的建议。
1.2 文章结构本文分为五个主要部分:引言、三个入门资源推荐部分以及结论与展望。
在入门资源推荐部分中,我们将介绍网站、书籍、视频教程等不同类型的资源,并详细说明它们各自的优势和特点。
在结论与展望中,我们将总结讨论各个资源的优劣势,并给予零基础编程者鼓励和建议。
1.3 目的本文的主要目的是帮助零基础编程者了解有哪些最佳入门资源可供选择,并提供详细的信息和评价,以便他们能够根据自己的需求和兴趣选择适合自己的学习方法和平台。
同时,我们也希望通过鼓励和建议,激励读者坚持学习,并展望未来在编程领域中可能获得的发展机会。
通过这篇文章,我们希望为零基础编程者提供一个明确而全面的入门指南,使他们能够轻松地开始自己的编程之旅,并开启探索计算机科学领域的大门。
让我们一同进入正文部分,深入了解每个入门资源并为未来做好准备。
2. 入门资源一:2.1 网站推荐:在学习编程的旅程中,有许多优秀的网站可以帮助您入门。
以下是几个值得推荐的网站:a) Codecademy (): Codecademy是一个非常受欢迎且广为人知的在线学习平台。
它提供了大量针对不同编程语言和技术的交互式课程。
通过与实时编辑器进行互动,您可以立即看到代码的执行结果,并通过实践来巩固所学内容。
b) FreeCodeCamp (): 作为一个以社区为导向的在线学习平台,FreeCodeCamp提供了丰富而免费的编程资源。
完整版汇编语言速成秘籍推荐文档汇编语言作为低级编程语言的一种,是每个程序员都应该熟悉的技能。
掌握汇编语言可以帮助我们更好地了解计算机底层运行原理,提高程序的性能和效率。
本文将向大家推荐一份完整的汇编语言速成秘籍文档,帮助大家快速入门和掌握汇编语言。
一、简介汇编语言是一种低级的编程语言,与机器语言直接对应,使用符号代表指令和数据。
掌握汇编语言可以更深入地理解计算机底层运行原理,为优化程序性能提供支持。
同时,学习汇编语言也有助于扩展程序设计思维,提高编程技巧。
二、为什么选择完整版汇编语言速成秘籍?1. 全面详尽:完整版汇编语言速成秘籍内容全面,涵盖了汇编语言的基础知识、进阶技巧和实践案例。
无论你是初学者还是有一定经验的程序员,都能从中找到适合自己的学习内容。
2. 经典案例:文档中提供了丰富的实践案例,通过实际问题的解析和演示,帮助读者更好地理解和应用汇编语言。
案例涵盖了常见的程序设计问题和优化技巧,对于提高编程能力有很大帮助。
3. 实用工具:在完整版汇编语言速成秘籍中,还附带了一些实用的工具和资源链接,方便读者深入学习和实践。
这些工具可以帮助读者更好地理解和调试汇编代码,提高学习效果。
三、学习汇编语言的步骤1. 学习基础知识:首先要掌握汇编语言的基础知识,包括常用的指令和寄存器的作用。
完整版汇编语言速成秘籍中提供了清晰的解释和示例代码,可以帮助读者迅速理解和掌握基础知识。
2. 理解程序结构:学习汇编语言还需要理解程序的结构和控制流程。
文档中详细介绍了程序的组成部分和逻辑结构,通过实例演示,帮助读者掌握程序的编写和调试技巧。
3. 实践演练:通过实践演练,将学到的知识应用到实际问题中。
完整版汇编语言速成秘籍中提供了多个实践案例,读者可以根据自己的兴趣和需求选择相应的项目进行实践。
4. 进阶优化:学习汇编语言不仅可以实现功能,还可以提高程序的性能和效率。
在完整版汇编语言速成秘籍中,有一些进阶优化技巧和实践经验的分享,读者可以借鉴和应用于自己的项目中。
超强⼲货!从⼊门到精通,看这⼀份书单就够了近⽇,质⼼姐姐在后台和QQ收到许多萌新(是真萌新,不是“伪装萌新”)的消息:⾼⼀刚⼊门该看什么书?什么时候刷程书才合适?如何规划⼀轮⼆轮⽤书呢?
所以,质⼼的⽼师们综合了同学和⽼师们的反馈之后,给出⼀套为竞赛党量⾝定制的超全书单,从⼊门到精通,你需要的都有。
01 预备轮:⾼中课内知识
质⼼姐姐温馨提⽰:1.1和1.2是最基础内容,最好都提前学完,实在来不及⾄少学完标红部分~1.1 ⼈教版⾼中物理教材 物理必修1 必修2 选修3-1到3-5难度 ★ ⼊⼿指数★★★★★必修⼀ 运动描述 ⼒ ⽜顿定律 物体平衡必修⼆ 抛体运动 圆周运动 万有引⼒ 机械能3-1 电场 直流电路 磁场3-2 电磁感应 交流电 传感器3-3 分⼦动理论 固体液体 ⽓体 热⼒学定律3-4 机械振动 机械波 电磁波 光的折射 光的波动3-5 动量 原⼦结构 原⼦核 波粒⼆象性1.2 ⼈教版⾼中数学教材难度 ★ ⼊⼿指数★★★★★必修⼀ 集合 函数必修⼆ 空间⼏何体 点线⾯ 直线⽅程必修三 算法 统计 概率必修四 三⾓函数 平⾯向量 三⾓恒等变换必修五 解三⾓型 数列 不等式选修2-1 逻辑 圆锥曲线 空间向量和解析⼏何选修2-2 导数及其应⽤ 推理和证明 复数选修2-3 计数原理 随机变量1.3 ⾼中物理学 沈克琦 中国科技⼤学出版社 ⼀套四册 ⼒学/热学/光学/电学这本书内容⾮常系统,对⾼⼀萌新很友好,它不仅覆盖了竞赛⼤纲中的复赛内容,还涵盖了整个⾼中常规教学的内容(必修与选修),竞赛⽣以此为教材,既可以做到不误⾼考,⼜可以扎实竞赛基础。
难度 ★ ⼊⼿指数★★★★
1.3.1 ⾼中物理学习题详解 黄鹏志 中国科技⼤学出版社⾼中物理学(就是上⾯那本)的配套题解(除思考题),解答过程尽量简明,思路清晰,有的题⽬提供了多种解法,旨在给读者更权威、更全⾯的辅导。这套书应为使⽤《⾼中物理学》的学⽣必备资料。
c语言编程的书
1. 《C Primer Plus》(第 6 版):这是一本非常经典的 C 语言入门教材,被誉为“C 语言的圣经”。
它详细介绍了 C 语言的基本概念、语法和编程技巧,并提供了大量的示例和练习,帮助读者逐步掌握 C 语言编程。
2. 《C 程序设计语言》(第 2 版):这本书由 C 语言的创始人丹尼斯·里奇和布莱恩·克尼根编写,是学习 C 语言的权威读物。
它以简洁明了的方式介绍了 C 语言的基本语法和编程思想,对于深入理解 C 语言的本质非常有帮助。
3. 《C 语言程序设计:现代方法》(第 2 版):这本书将 C 语言的基础知识与现代编程实践相结合,强调程序设计的过程和方法。
它不仅涵盖了 C 语言的语法和语义,还介绍了一些高级主题,如数据结构和算法。
4. 《C 语言解惑》:这本书以问答的形式深入探讨了 C 语言中的一些常见问题和容易混淆的概念,对于理解 C 语言的细节和陷阱非常有帮助。
它适合有一定 C 语言基础的读者进一步提高。
5. 《C 语言高级编程》:如果你想深入学习 C 语言编程,这本书是一个很好的选择。
它涵盖了 C 语言的高级特性,如指针、数组、字符串、函数指针等,并提供了一些实际的项目案例,帮助读者将所学知识应用到实际编程中。
以上仅是部分推荐,还有许多其他优秀的 C 语言编程书籍可供选择。
你可以根据自己的需求和阅读习惯选择适合自己的书籍。
同时,结合实践编写代码并参与开源项目也是提高编程能力的有效途径。
汇编学习从入门到精通Step By Step
2007年12月15日星期六00:34
信息来源:/hkbyest/archive/2007/07/22/1702065.aspx
Cracker,一个充满诱惑的词。
别误会,我这里说的是软件破解,想做骇客的一边去,这年头没人说骇客,都是“黑客”了,嘎嘎~
公元1999年的炎热夏季,我捧起我哥留在家的清华黄皮本《IBM-PC汇编语言程序设计》,苦读。
一个星期后我那脆弱的小心灵如玻璃般碎裂了,为了弥补伤痛我哭爹求妈弄了8k大洋配了台当时算是主流的PC,要知道那是64M内存!8.4G硬盘啊!还有传说中的Celeon 300A CPU。
不过很可惜的是在当时那32k小猫当道的时代,没有宽带网络,没有软件,没有资料,没有论坛,理所当然我对伟大的计算机科学体系的第一步探索就此夭折,此时陪伴我的是那些盗版光盘中的游戏,把CRACK_XXX文件从光盘复制到硬盘成了时常的工作,偶尔看到光盘中的nfo
文件,心里也闪过一丝对破解的憧憬。
上了大学后有网可用了,慢慢地接触到了一些黑客入侵的知识,想当黑客是每一个充满好奇的小青年的神圣愿望,整天看这看那,偷偷改了下别人的网页就欢喜得好像第一次偷到鸡的黄鼠狼。
大一开设的汇编教材就是那不知版了多少次的《IBM-PC汇编语言程序设计》,凭着之前的那星期苦读,考试混了个80分。
可惜当时头脑发热,大学60分万岁思想无疑更为主流,现在想想真是可惜了宝贵的学习时间。
不知不觉快毕业了,这时手头上的《黑客防线》,《黑客X档案》积了一大摞,整天注来注去的也厌烦了,校园网上的肉鸡一打一打更不知道拿来干什么。
这时兴趣自然转向了crack,看着杂志上天书般的汇编代码,望望手头还算崭新的汇编课本,叹了口气,重新学那已经忘光了的汇编语言吧。
咬牙再咬牙,看完寻址方式那章后我还是认输,不认不行啊,头快裂了,第三次努力终告失败。
虽然此时也可以爆破一些简单的软件,虽然也知道搞破解不需要很多的汇编知识,但我还是固执地希望能学好这门基础中的基础课程。
毕业了,进入社会了,找工作,上班,换工作成了主流旋律,每天精疲力尽的哪有时间呢?在最初的中国移动到考公务员再到深圳再到家里希望的金融机构,一系列的曲折失败等待耗光了我的热情,我失业了,赋闲在家无所事事,唯一陪伴我的是那些杂志,课本,以及过时的第二台电脑。
我不想工作,我对找工作有一种恐惧,我靠酒精麻醉自己,颓废一段日子后也觉得生活太过无聊了,努力看书考了个CCNA想出去,结果还是被现实的就业环境所打败。
三年时间,一无所获。
再之后来到女朋友处陪伴她度过刚毕业踏入社会工作的适应时期,这段时间随便找了个电脑技术工作,每月赚那么个几百块做生活费。
不过这半年让我收获比较大的就是时间充裕,接触到了不少新东西,我下定决心要把汇编学好,这时我在网上看到了别人推荐的王爽《汇编语言》,没抱什么希望在当当网购了人生中的第一次物,19块6毛,我记得很清楚,呵呵。
废话终于完了,感谢各位能看到这里,下面进入正题吧。
一、16位汇编
对于一个汇编初学者,首先必看的就是王爽老师的这本《汇编语言》,虽然它不是很完整,虽然它有一些错漏,虽然它需要一些前置知识(详见书籍前言部分,前言一定要仔细看!),但是王爽老师独特的教学理念构造了这本循序渐进的书,我们从中可以抛开对汇编语言的畏惧心态,一步一步的深入进去,更可喜的是在这本书里我们可以学到宝贵的底层编程意识和思想,这对于初学者来说是最为重要的,掌握了意识思想,进一步学习下去也不会再艰难。
大家学习的时候一定要严格按照“前言”的要求去做,这样才能有最好的效果。
半个月,就半个月,我已经看完了书,我可以自信地宣布:我掌握汇编语言了。
虽然比较基础,但想想我那六年半时间,想想我那几次痛苦的尝试,心中无端生出一丝怨恨,为什么当年没有这本书呢,否则我的成就绝不会是现在这样。
我的学习过程是先看完一遍书,做了一些习题(当时没电脑上机操作),现在有了新的电脑了,便重新看一遍,把所有的上机操作和编程练习都完成了(除了最后的磁盘操作外)。
好书推荐:
1.《80x86汇编语言程序设计教程》杨季文编著,清华黑皮本。
本书可以当作进一步深入学习的教材。
2.《The Art of Assembly Language》 [英文版],经典著作。
二、32位汇编
虽然上面学到的知识已经可以应付大学要求,但是16位汇编始终还是落后于时代了,所以我们要学习32位汇编,这里首推的是《Intel汇编语言程序设计(第4版)》,可以这样说,有了这本书,你就可以不必看别的32位汇编教材了。
不过这本书的内容比较压缩,信息量大,需要时常翻阅复习。
本书适合初学者及从16位转向32位汇编的人们。
本书光盘中带有例子程序和作者Kip Irvine写的几个链接库,极大地简化了一些烦琐的基本操作,同时附带的Masm 6.15和编译链接批处理程序也可以用在王爽老师的《汇编语言》学习里,不过我建议不要安装光盘里的TextPad来编写源代码,个人推荐使用EditPlus。
认真学完这本书,应该可以对付一般的破解工作了,起码我是能进行一般的算法分析推出注册码咯。
好书推荐:80x86保护模式系列教程 [中文版] 作者:李彦昌。
本书可以可以当作进一步深入学习的教材。
三、64位汇编
虽然现在我们的系统主要还是WinNT系列,但是64位的CPU已经普及市场,64位的操作系统Vista也在不少电脑里安家落户,64位汇编语言学习不再是前沿研究。
可惜我手头上的资料太少,无法作进一步介绍,各位高手看到这里还请指点。
相关资料:《Intel 64位CPU指令集及编程方法》电子文档。
相关链接:
1.开始进行 64 位 Windows 系统编程之前需要了解的所有信息
/china/MSDN/library/Windev/64bit/issuesx64.mspx?mfr=true
2.Moving to Windows x64
/Files/vista_x64.htm
四、Win32汇编
单纯的汇编似乎除了在底层开发,嵌入式开发以及高级语言内嵌汇编外没有多少地方使用了。
为了在实际应用中更大地发挥,我们必须学习Win32汇编。
这方面的资料比较少,国内的当然就是罗云彬的《Windows环境下32位汇编语言程序设计第二版》了。
hoho,大部头著作啊,可以当成防身行暴武器哦。
好书推荐:
1.《Iczelion的Win32汇编教程》,网络上最初的系统Win32教程,罗云彬那书大部分内容都是从里面编著出来的,呵呵。
2.《Kernel Mode Drivers教程中文版》,Four-F的驱动开发教程,不论开不开发驱动还是得看看。
五、哲学
如果你已经精通上面罗列的东西,觉得有点不胜寒了,建议还是进行一下流行的哲学研究吧。
好书推荐:
1.朱邦复的《组合语言之艺术》,作者的经验可以让我们的效率变得更高。
2.《汇编语言与禅-Zen Of Assembly Language》,我还没看,哪位有空慢慢研究吧。
个人建议,虽然上面的书籍都能找到电子书,但是我认为上面列出的主要的三本书最好还是买纸质实体书吧,主要便于阅读和翻查,而且这么好的书,你能不支持一下作者吗?正版系统买不起而已,正版书籍我们还是扛得住的,小小一百几十块钱,少抽几包烟就够了。
况且实体书读起来的感觉就是比电子书要好。
如果您更喜欢阅读电子版本,那么当这段是废话略过也罢。
学习难免遇到一时难于解决的问题,网络交流也是必须的,介绍一下我认为不错的几个网站:汇编语言学习论坛:
/forum.jsp
这里有王爽《汇编语言》讨论区,好像网站没开多久,大家凑合看看吧。
《Intel汇编语言程序设计(第4版)》作者的网站:
/asm/4th/index.html 这个链接是关于书本的,更多内容请自己看首页。
罗云彬的编程乐园:
上面有不少好东西下载哦。
AoGo汇编小站
/ 东西不少,论坛也还可以。
80x86汇编小站
/
CSDN论坛汇编板块:
/Expert/ForumList.asp?typenum=1&roomid=1703
国外的著名汇编论坛:
/board/index.php
/board/
MSDN当然也不能少:
/zh-cn/default.aspx
顺便广告广告:
我的博客/hkbyest和/hkbyest/里也有我平时收集的一些资料和代码,有空捧捧场交流一下。
总结
学习汇编或许不容易,而且很枯燥,但是作为计算机科学体系中的重要基础,掌握汇编除了进行破解外还有许多优点,最简单地说,这么底层这么枯燥这么难的你都能学好,那些高级的人性化的还在话下吗?希望本文能给广大汇编学习者一些帮助,谢谢~。