当前位置:首页 » 编程软件 » 编译器教材

编译器教材

发布时间: 2022-04-21 17:57:30

c语言不同教材知识一样么

一样。
不同版本的C语言教材的知识内容都是一样的,不一样的地方可能是知识的顺序、算法的介绍和语句规范等内容。
C语言编译器普遍存在于各种不同的操作系统中,其设计也影响了java、Python等编程语言。

② c语言编译器的选择

关于C语言编译器的选择(Tc2.0,Tc3.0,Vc6.0等)
我们在学习C语言时通常会面临C语言编译器的选择,事实上C语言编译器可以分为C和C++两大类,其中C++是C的超集,均向下支持C。主要的C语言编译器及特点分别如下:
(1)TC 2.0DOS平台软件。最经典的C语言编译器,系统体积小,简单易学,容易上手,而且很多前人或书籍的程序均基于该编译器,是学习C语言的首选。不过它不支持鼠标,但读者如果掌握几个快捷键,操作时对鼠标可能就不怎么需要了,如:F2 存盘 F3 打开程序 Alt+F3在最近打开的文件之间切换 Alt+F5观察运行结果F9 编译制作EXE Ctrl+F9编译并运行Ctrl+Y 删除当前行 Ctrl+KB定义块首 Ctrl+KK 定义块尾 Ctrl+KC复制块 Ctrl+KY删除块Ctrl+KV 移动块
(2)Tc3.0DOS平台软件。目前比较不错的C/C++语言编译器,支持鼠标,语法着色,多文档,错误跟踪也很好,操作与TC2.0有很多类似,TC2.0会用那么TC3.0也很快会用,缺点是以前很多代码是用TC2.0设计的,而由于TC3.0语法要求的严格性,如要求函数必须定义类型,所以向下存在一定的兼容性问题,所以对于初学者选择起来很矛盾,建议先学会使用TC2.0,而把TC3.0作为能力的补充和平时工具之用。目前有的教材已经选用该编译器,不过需要一个较长的调整期,因为很多源代码需要过渡过来才行,虽然性能上比TC2.0有所提高,但对于初学者没有质的变化,选择时需要注意。
(3)VC++ 6.0Windows平台。目前主流的C/C++语言编译器,包含强大的类和内嵌WinAPI的MFC,具有可视化的编程界面。对于TC等的作品也具有向下兼容的特点,建议读者选用作为C语言过渡到Windows平台编程的首选工具。当然,作为学习,该系统显得有点庞大,不过通过入门的学习,调试旧的Tc程序也可以。还有其他的编译器,例如Win tc、gcc、lcc、BC 3.1等等,事实上,编译器的选择不是最重要的,他们都可以完成基本的C语言编译,不过面向考试的时候,还是根据考试的要求,因为编译器的编译结果存在着一定的差别,特别在一些复杂语法的语句编译上。从目前的形势看,对于从未学习过计算机程序设计的读者来说,学习C语言时,建议开始选择Tc2.0,虽然不能使用鼠标,但几个快捷键的熟练运用基本上可以解决操作的问题,当然有时间的时候了解使用TC3.0就更好了;对于学习过TC2.0的读者来说,平时完全可以在TC3.0或VC 6.0下调试程序,但考试的时候如果要求必须在TC2.0下,那最好上机练习时在TC2.0下。当然,使用如记事本等文本编辑器编辑程序,然后用TC来调试也不失为一种好方法。另外,DOS平台的Tc2.0或Tc3.0都存在某些机器运行时键盘响应迟缓或停顿的问题,Tc3.0可能这种现象要多一点,这主要是由DOS基本内存的不足造成的。可以安装水平考试课题组提供的DOS模拟器来解决问题,该模拟器重新划分更多的内存,效果不错。
新的类似软件平台也需要读者关注,那就是Java和Viusal C#,因为从发展的眼光来看,目前软件设计平台有一定的趋同趋势。例如:java和C#,都来自于C和C++,都作了不错的扩展和优化。对于深入学习C语言的同学,未来几年请务必学习VisualStudio.Net或者Java,因为这二者代表了现在的软件设计主流。他们的主要特点是:优秀的IDE设计环境,强大的WEB服务设计功能,对C++的优化和扩充,基于虚拟机的运行模式,优秀的面向系统开发,可视化的较为成熟的面向对象的程序设计机制等等.

③ 有没有必要学习编译器原理

个人建议:还是学习一下比较好,因为很多的语句,包括函数都要用那些原理,比如C++中的预编译问题,文件包含,先绑定后绑定等...C++支持编译时多态和运行时多态,了解编译器原理更有利于以后的面向对象设计技术,再说,学习知识永远都不会满足,越多越好...当然,劳逸结合才是最好的学习方法,注意休息可以提高学习效率...

④ 汇编语言的经典教材

汇编语言教材很多,各种处理器都有涉及,粗略统计不下百种。在这么多的教材里,用得较多的可以分类列举如下: 1.《x86汇编语言:从实模式到保护模式》,李忠着,电子工业出版社,2013-1 。
基于INTEL x86处理器、NASM编译器和BOCHS虚拟机。汇编语言就是处理器的语言,从这个意义上来说,既然学习汇编语言,就必须直接面向硬件编程,而不是使用莫名其妙的DOS中断和API调用。这是一本有趣的书,它没有把篇幅花在计算一些枯燥的数学题上。相反,它教你如何直接控制硬件,在不借助于BIOS、DOS、Windows、Linux或者任何其他软件支持的情况下来显示字符、读取硬盘数据、控制其他硬件等。
我们知道,32位和64位是主流,实模式和DOS操作系统已经成为历史,Linux和Windows都工作在保护模式下。这本书从实模式讲到32位保护模式,尤其以32位保护模式为重点,阅读本书,对理解现代计算机和现代操作系统的工作原理有非常大的帮助作用。
2.《汇编语言》(第2版),王爽着,清华大学出版社,2013-4-1
基于INTEL 8086处理器、MASM编译器,以及DOS平台的汇编教材,完全以8086处理器的实模式为主,不涉及常用的32位和64位模式,但因为通俗易懂,读者反映很好。
3.《80X86汇编语言程序设计教程》,杨季文等 编着,清华大学出版社,1999-3-1
基于INTEL x86处理器、MASM和TASM编译器,包含16位实模式和32位保护模式的内容,而且对后者讲述较为详细。
4.《32位汇编语言程序设计》,钱晓捷编着,机械工业出版社,2011-8-1
基于INTEL x86处理器、MASM编译器,以及WINDOWS平台的汇编教材。
5.《16/32位微机原理汇编语言及接口技术》,钱晓捷,陈涛编着,机械工业出版社,2005-2-1
基于INTEL x86处理器,论述16位微型计算机的基本原理、汇编语言和接口技术,并引出32位微机系统相关技术。
6.《Intel汇编语言程序设计》(第五版),(美)欧文着,电子工业出版社,2012-7-1
基于INTEL x86处理器、MASM编译器,以及DOS/WINDOWS平台的汇编教材,既有16位实模式的内容,也有32位保护模式的内容。
7.《汇编语言的编程艺术》(第2版),(美)海德着,清华大学出版社,2011-12-1
基于INTEL x86处理器,使用了作者自制的高级语言汇编器(High Level Assembler,HLA)作为教学工具,以部分地获得高级语言的优势和功能。
8.《x86 PC汇编语言、设计与接口》(第五版),(美)马兹迪,考西着,电子工业出版社,2011-1-1
基于INTEL x86处理器,既讲了16位实模式的内容,也讲了32位保护模式的内容,对64位也有所介绍。 1.《汇编语言程序设计--基于ARM体系结构》(第2版),文全刚等主编,北京航空航天大学出版社,2010-8-1
基于ARM体系结构的处理器,是学习嵌入式技术的入门教材。
2.《零基础学AVR单片机》,徐益民等编着,机械工业出版社,2011-1-1
单片机概述、avr单片机的开发工具、avr单片机c语言、atmega16单片机基本结构、avr的指令系统与汇编系统等。
3.《基于Multisim10的51单片机仿真实战教程》,聂典,丁伟主编,电子工业出版社,2010-2-1
阐述了NI Multisim 10在单片机仿真中的各项主要功能。
4.《PIC18微控制器:体系结构、编程与接口设计》,(美)贝里着,清华大学出版社,2009-4-1
微控制器广泛应用于汽车、家电、工业控制、医疗设备等众多领域。本书以Microchip公司的PIC18系列微控制器为例,全面讲解如何使用C语言和汇编语言对微控制器进行编程。
5.《CASL汇编语言程序设计》,赵立辉编着,中国电力出版社,2002-10-1
CASL汇编语言是中国计算机软件专业技术资格和水平考试高级程序员级的必考内容。本书是讲述CASL汇编语言程序设计的专着。

⑤ 推荐一本本科本编译原理教材

国内的,两本不错
清华的编译原理
还有 国防科大的编译原理 都不错

不过,个人建议用老外的那本
编译原理及其实践
实践内容比较不错,实现了个小巧的编译器。

⑥ 有没有比龙书通俗易懂的编译原理书籍

大学课程为什么要开设编译原理呢?这门课程关注的是编译器方面的产生原理和技术问题,似乎和计算机的基础领域不沾边,可是编译原理却一直作为大学本科的必修课程,同时也成为了研究生入学考试的必考内容。编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂。我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专注解决一种的算法了。在20世纪50年代,编译器的编写一直被认为是十分困难的事情,第一Fortran的编译器据说花了18年的时间才完成。在人们尝试编写编译器的同时,诞生了许多跟编译相关的理论和技术,而这些理论和技术比一个实际的编译器本身价值更大。就犹如数学家们在解决着名的哥德巴赫猜想一样,虽然没有最终解决问题,但是其间诞生不少名着的相关数论。
推荐参考书
虽然编译理论发展到今天,已经有了比较成熟的部分,但是作为一个大学生来说,要自己写出一个像TurbocC,Java那样的编译器来说还是太难了。不仅写编译器困难,学习编译原理这门课程也比较困难。
第一本书的原名叫《CompilersPrinciples,Techniques,andTools》,另外一个响亮的名字就是龙书。原因是这本书的封面上有条红色的龙,也因为獗臼樵诒嘁朐?砘?嘴域确实?忻?所以很多国外的学者都直接取名为龙书。最近机械工业出版社已经出版了此书的中文版,名字就叫《编译原理》。该书出的比较早,大概是在85或86年编写完成的,作者之一还是着名的贝尔实验室的科学家。里面讲解的核心编译原理至今都没有变过,所以一直到今天,它的价值都非凡。这本书最大的特点就是一开始就通过一个实际的小例子,把编译原理的大致内容罗列出来,让很多编译原理的初学者很快心里有了个底,也知道为什么会有这些理论,怎么运用这些理论。而这一点是我感觉国内的教材缺乏的东西,所以国内的教材都不是写给愿意自学的读者,总之让人看了半天,却不知道里面的东西有什么用。
第二本书的原名叫《ModernCompilerDesign》,中文名字叫做《现代编译程序设计》。该书由人民邮电出版社所出。此书比较关注的是编译原理的实践,书中给出了不少的实际程序代码,还有很多实际的编译技术问题等等。此书另外一个特点就是其现代而字。在传统的编译原理教材中,你是不可能看到如同Java中的垃圾回收等算法的。因为Java这样的解释执行语言是在近几年才流行起来的东西。如果你想深入学习编译原理的理论知识,那么你肯定得看前面那本龙书,如果你想自己动手做一个先进的编译器,那么你得看这本《现代编译程序设计》。
第三本书就是很多国内的编译原理学者都推荐的那本《编译原理及实践》。或许是这本书引入国内比较早吧,我记得我是在高中就买了这本书,不过也是在前段时间才把整本书看完。此书作为入门教程也的确是个不错的选择。书中给出的编译原理讲解也相当细致,虽然不如前面的龙书那么深入,但是很多地方都是点到为止,作为大学本科教学已经是十分深入了。该书的特点就是注重实践,不过感觉还不如前面那本《现代编译程序设计》的实践味道更重。此书的重点还是在原理上的实践,而非前面那本那样的技术实践。《编译原理及实践》在讲解编译原理的各个部分的同时,也在逐步实践一个现代的编译器TinyC.等你把整本书看完,差不多自己也可以写一个TinyC了。作者还对Lex和Yacc这两个常用的编译相关的工具进行了很详细的说明,这一点也是很难在国内的教材中看到的。
推荐了这三本教材,都有英文版和中文版的。很多英文好的同学只喜欢看原版的书,不我的感觉是这三本书的翻译都很不错,没有必要特别去买英文版的。理解理论的实质比理解表面的文字更为重要。
编译原理的实质
几乎每本编译原理的教材都是分成词法分析,语法分析(LL算法,递归下降算法,LR算法),语义分析,运行时环境,中间代码,代码生成,代码优化这些部分。其实现在很多编译原理的教材都是按照85,86出版的那本龙书来安排教学内容的,所以那本龙书的内容格式几乎成了现在编译原理教材的定式,包括国内的教材也是如此。一般来说,大学里面的本科教学是不可能把上面的所有部分都认真讲完的,而是比较偏重于前面几个部分。像代码优化那部分东西,就像个无底洞一样,如果要认真讲,就是单独开一个学期的课也不可能讲得清楚。所以,一般对于本科生,对词法分析和语法分析掌握要求就相对要高一点了。
词法分析相对来说比较简单。可能是词法分析程序本身实现起来很简单吧,很多没有学过编译原理的人也同样可以写出各种各样的词法分析程序。不过编译原理在讲解词法分析的时候,重点把正则表达式和自动机原理加了进来,然后以一种十分标准的方式来讲解词法分析程序的产生。这样的做法道理很明显,就是要让词法分析从程序上升到理论的地步。
语法分析部分就比较麻烦一点了。现在一般有两种语法分析算法,LL自顶向下算法和LR自底向上算法。LL算法还好说,到了LR算法的时候,困难就来了。很多自学编译原理的都是遇到LR算法的理解成问题后就放弃了自学。其实这些东西都是只要大家理解就可以了,又不是像词法分析那样非得自己写出来才算真正的会。像LR算法的语法分析器,一般都是用工具Yacc来生成,实践中完全没有比较自己来实现。对于LL算法中特殊的递归下降算法,因为其实践十分简单,那么就应该要求每个学生都能自己写。当然,现在也有不少好的LL算法的语法分析器,不过要是换在非C平台,比如Java,Delphi,你不能运用YACC工具了,那么你就只有自己来写语法分析器。
等学到词法分析和语法分析时候,你可能会出现这样的疑问:词法分析和语法分析到底有什么?就从编译器的角度来讲,编译器需要把程序员写的源程序转换成一种方便处理的数据结构(抽象语法树或语法树),那么这个转换的过程就是通过词法分析和语法分析的。其实词法分析并非一开始就被列入编译器的必备部分,只是我们为了简化语法分析的过程,就把词法分析这种繁琐的工作单独提取出来,就成了现在的词法分析部分。除了编译器部分,在其它地方,词法分析和语法分析也是有用的。比如我们在DOS,Unix,Linux下输入命令的时候,程序如何分析你输入的命令形式,这也是简单的应用。总之,这两部分的工作就是把不规则的文本信息转换成一种比较好分析好处理的数据结构。那么为什么编译原理的教程都最终把要分析的源分析转换成树这种数据结构呢?数据结构中有Stack,Line,List这么多数据结构,各自都有各自的特点。但是Tree这种结构有很强的递归性,也就是说我们可以把Tree的任何结点Node提取出来后,它依旧是一颗完整的Tree。这一点符合我们现在编译原理分析的形式语言,比如我们在函数里面使用函树,循环中使用循环,条件中使用条件等等,那么就可以很直观地表示在Tree这种数据结构上。同样,我们在执行形式语言的程序的时候也是如此的递归性。在编译原理后面的代码生成的部分,就会介绍一种堆栈式的中间代码,我们可以根据分析出来的抽象语法树,很容易,很机械地运用递归遍历抽象语法树就可以生成这种指令代码。而这种代码其实也被广泛运用在其它的解释型语言中。像现在流行的Java,.NET,其底层的字节码bytecode,可以说就是这中基于堆栈的指令代码的。
关于语义分析,语法制导翻译,类型检查等等部分,其实都是一种完善前面得到的抽象语法树的过程。比如说,我们写C语言程序的时候,都知道,如果把一个浮点数直接赋值给一个整数,就会出现类型不匹配,那么C语言的编译器是怎么知道的呢?就是通过这一步的类型检查。像C++语言这中支持多态函数的语言,这部分要处理的问题就更多更复杂了。大部编译原理的教材在这部分都是讲解一些比较好的处理策略而已。因为新的问题总是在发生,旧的办法不见得足够解决。
本来说,作为一个编译器,起作用的部分就是用户输入的源程序到最终的代码生成。但是在讲解最终代码生成的时候,又不得不讲解机器运行环境等内容。因为如果你不知道机器是怎么执行最终代码的,那么你当然无法知道如何生成合适的最终代码。这部分内容我自我感觉其意义甚至超过了编译原理本身。因为它会把一个计算机的程序的运行过程都通通排在你面前,你将来可能不会从事编译器的开发工作,但是只要是和计算机软件开发相关的领域,都会涉及到程序的执行过程。运行时环境的讲解会让你更清楚一个计算机程序是怎么存储,怎么装载,怎么执行的。关于部分的内容,我强烈建议大家看看龙书上的讲解,作者从最基本的存储组织,存储分配策略,非局部名字的访问,参数传递,符号表到动态存储分配(malloc,new)都作了十分详细的说明。这些东西都是我们编写平常程序的时候经常要做的事情,但是我们却少去探求其内部是如何完成。
关于中间代码生成,代码生成,代码优化部分的内容就实在不好说了。国内很多教材到了这部分都会很简单地走马观花讲过去,学生听了也只是作为了解,不知道如何运用。不过这部分内容的东西如果要认真讲,单独开一学期的课程都讲不完。在《编译原理及实践》的书上,对于这部分的讲解就恰到好处。作者主要讲解的还是一种以堆栈为基础的指令代码,十分通俗易懂,让人看了后,很容易模仿,自己下来后就可以写自己的代码生成。当然,对于其它代码生成技术,代码优化技术的讲解就十分简单了。如果要仔细研究代码生成技术,其实另外还有本叫做《》,那本书现在由机械工业出版社引进的,十分厚重,而且是英文原版。不过这本书我没有把它列为推荐书给大家,毕竟能把龙书的内容搞清楚,在中国已经就算很不错的高手了,到那个时候再看这本《》也不迟。代码优化部分在大学本科教学中还是一个不太重要的部分,就是算是实践过程中,相信大家也不太运用得到。毕竟,自己做的编译器能正确生成执行代码已经很不错了,还谈什么优化呢?
编译原理的课程毕竟还只是讲解原理的课程,不是专门的编译技术课程。这两门课程是有很大的区别的。编译技术更关注实际的编写编译器过程中运用到的技术,而原理的课

⑦ C++面向对象程序设计的经典教材有哪些最好是国外计算机科学着作,谢谢推荐!

C++ Plus Primer
C++ Primer
C++ 编程思想
C++ 程序设计(特别版)

这4本是国外C++的经典教材,其中:

C++ Primer是由3人共同完成
作者Stanley B.Lippman 是C++创始人Bjarne Stroustrup的助手,目前微软公司Visual C++团队的构架师。
作者Josee Lajoie是IBM的C/C++编译器开发团队的成员。
作者Barbara E.Moo是拥有25年软件经验的独立咨询顾问。

C++ 程序设计(特别版)
的作者是C++的创始人Bjarne Stroustrup,
堪称C++的“圣经”。

⑧ 汇编语言的图书或教材

汇编语言 着 译 者:王晓虹 出版日期:2011-3-11 上架时间:2011-7-7 出 版 社:清华大学出版社 ISBN:978 730 224 767 8 内容简介:
《汇编语言》共11章,以intel 8086/8088系列计算机为背景,前8章系统地介绍宏汇编语言程序设计的基础知识、语法规则和程序设计方法;后3章主要介绍8086、8088计算机汇编语言的应用,包括输入输出的概念及其程序设计方法,中断的概念、方法及其开发应用技巧,文件编程方法等内容。为方便自学,在各章后面增加了理解与练习或课外阅读,通过例题分析,加强对汇编语言的理解与掌握。 《汇编语言》可作为高校计算机本科专业的教材和自学考试的教材,也可作为教师、非计算机专业的研究生及计算机应用技术人员的参考书。
图书目录:
第1章 概论 1
1.1 计算机系统组成 1
1.1.1 计算机硬件基本结构 1
1.1.2 计算机软件系统 2
1.2 计算机语言 2
1.2.1 机器语言 2
1.2.2 汇编语言 3
1.2.3 通用语言(高级语言) 4
1.3 汇编语言的应用范围 4
习题1 4
第2章 汇编语言预备知识 6
2.1 数据类型 6
2.1.1 数制及相互转换 6
2.1.2 计算机中数和字符的表示 7
2.1.3 数据类型 10
2.2 intel 8086/8088 cpu结构与可编程寄存器 12
2.2.1 8086/8088 cpu功能结构 12
2.2.2 cpu内部寄存器组 13
2.3 存储器 16
2.3.1 存储器的组成 16
2.3.2 存储器的段结构 16
2.3.3 逻辑地址与物理地址 17
2.3.4 堆栈 18
2.4 理解与练习 19
2.4.1 内存数据存取规则 19
2.4.2 计算机中的数据 19
2.4.3 溢出的概念 20
习题2 21
第3章 寻址方式与指令系统 23
3.1 寻址方式 23
3.1.1 隐含操作数寻址方式(隐含寻址) 23
3.1.2 立即操作数寻址方式(立即寻址) 23
3.1.3 寄存器操作数的寻址方式(寄存器寻址) 24
3.1.4 存储器操作数的寻址方式 24
3.1.5 段基值的隐含约定 26
3.1.6 隐含段的改变 26
3.2 指令系统 27
3.2.1 指令系统概述 27
3.2.2 传送类指令 28
3.2.3 算术运算类指令 31
3.2.4 位操作指令 36
3.2.5 转移类指令 37
3.2.6 串操作指令 40
3.2.7 处理器控制类指令 42
3.3 理解与练习 43
3.3.1 关于十进制调整指令 43
3.3.2 比较指令的理解 46
3.3.3 乘除法指令的理解 47
3.3.4 逻辑运算与移位指令的应用 49
3.3.5 指令对标志位的影响 50
习题3 52
第4章 汇编语言 54
4.1 汇编语言语句种类及格式 54
4.1.1 语句种类 54
4.1.2 语句格式 55
4.2 汇编语言的数据 56
4.2.1 常数 56
4.2.2 变量 57
4.2.3 标号 60
4.2.4 段名和过程名 61
4.3 汇编语言的符号 61
4.3.1 等值语句 61
4.3.2 等号语句 62
4.4 汇编语言运算符 62
4.4.1 算术运算符 62
4.4.2 逻辑运算符 64
4.4.3 关系运算符 64
4.4.4 属性值返回运算符 65
4.4.5 属性修改运算符 68
4.4.6 运算符的优先级 69
4.5 程序中段的定义 70
4.5.1 段定义伪指令 70
4.5.2 段指定伪指令 73
4.6 常用伪指令 73
4.6.1 汇编地址计数器($)和定位伪指令(org) 73
4.6.2 源程序结束伪指令(end) 74
4.6.3 模块命名伪指令(name和title) 75
4.6.4 基数控制伪指令(radix) 75
4.7 理解与练习 76
4.7.1 assume伪指令的理解 76
4.7.2 关于段寄存器的初始化 77
4.7.3 例题分析 78
习题4 81
第5章 程序设计方法 85
5.1 概述 85
5.1.1 程序设计的步骤 85
5.1.2 程序的基本控制结构 87
5.1.3 程序设计方法 88
5.2 汇编语言源程序的基本格式和编程步骤 88
5.3 简单程序设计举例 91
5.4 dos系统功能调用 93
5.4.1 系统功能调用方法 93
5.4.2 常用系统功能调用 94
5.5 汇编语言程序的上机过程 97
5.6 理解与练习 98
5.6.1 输入输出数据处理 98
5.6.2 使用功能调用进行输出显示时屏幕格式的控制 99
5.6.3 程序的汇编、连接及调试 99
习题5 109
第6章 分支与循环程序设计 112
6.1 分支程序设计 112
6.1.1 比较/测试分支结构程序设计 112
6.1.2 用跳转表形成多路分支的程序设计 116
6.2 循环程序设计 118
6.2.1 循环程序的结构 118
6.2.2 循环控制方法 118
6.2.3 单重循环程序设计 120
6.2.4 多重循环程序设计 123
习题6 128
第7章 子程序与多模块编程 132
7.1 子程序概念 132
7.1.1 子程序的定义 132
7.1.2 子程序的调用和返回 133
7.2 子程序设计方法 136
7.2.1 现场的保护和恢复 136
7.2.2 主程序与子程序之间参数传递方法 137
7.2.3 子程序说明文件 142
7.2.4 子程序设计及其调用举例 143
7.3 嵌套与递归子程序 145
7.3.1 子程序嵌套 145
7.3.2 递归子程序 148
7.4 多模块编程 150
7.4.1 模块的划分 150
7.4.2 程序的连接 151
7.5 课外阅读 154
7.5.1 可重入子程序、浮动子程序和协同子程序 154
7.5.2 汇编语言与c语言的连接 155
习题7 162
第8章 宏功能程序设计 165
8.1 宏的概念 165
8.2 宏定义和宏调用 166
8.2.1 宏定义 166
8.2.2 宏调用 167
8.3 参数的使用 168
8.3.1 宏定义与宏调用中参数的使用 168
8.3.2 宏操作符 172
8.3.3 宏中标号的处理 174
8.4 宏嵌套 175
8.4.1 宏定义中嵌套宏定义 175
8.4.2 宏定义中嵌套宏调用 176
8.5 重复汇编和条件汇编 178
8.5.1 重复汇编伪指令 178
8.5.2 条件汇编伪指令 180
8.6 宏库的使用 182
8.6.1 宏库的建立 182
8.6.2 宏库的使用 183
8.7 课外阅读 184
8.7.1 结构 184
8.7.2 记录 189
习题8 192
第9章 输入输出程序设计 194
9.1 输入输出的概念 194
9.1.1 外部设备与接口电路 194
9.1.2 i/o接口及编程结构 195
9.2 i/o指令 196
9.2.1 输入指令in 196
9.2.2 输出指令out 196
9.3 i/o传送方式 197
9.4 i/o程序举例 199
习题9 201
第10章 中断 202
10.1 中断的概念 202
10.2 pc中断系统 202
10.3 中断管理和运行机制 205
10.3.1 中断向量表 205
10.3.2 中断优先级 206
10.3.3 中断响应过程 207
10.3.4 中断指令 207
10.4 中断的开发与应用 208
10.4.1 开发用户自己的中断 208
10.4.2 修改或替换系统中断 210
10.4.3 在应用程序中调用系统中断 214
10.5 课外阅读 214
10.5.1 pc时钟系统及时钟中断 214
10.5.2 dos用户中断 217
习题10 218
第11章 文件操作编程 220
11.1 文件操作的有关概念 220
11.1.1 文件名字串和文件句柄 220
11.1.2 文件指针与读写缓冲区 221
11.1.3 文件属性 221
11.2 常用的文件操作系统功能调用 221
11.2.1 建立并打开文件(3ch,5bh,5ah) 222
11.2.2 打开文件(3dh) 223
11.2.3 关闭文件(3eh) 223
11.2.4 读文件或设备(3fh) 223
11.2.5 写文件或设备(40h) 223
11.2.6 改变文件指针(42h) 223
11.3 文件操作编程 224
11.4 课外阅读 227
11.4.1 打开文件和关闭文件的作用 227
11.4.2 系统内部句柄的分配和管理 228
习题11 229
附录a 出错信息 230
附录b 8086/8088指令系统 234
附录c bios调用说明 245
附录d dos功能调用说明 256
附录e ibm pc的键盘输入码和crt显示码 265
附录f 习题答案 267
参考文献 311
汇编语言(第2版) 着 译 者:王爽 出版日期:2008-04-01 上架时间:2008-4-21 出 版 社:清华大学出版社 ISBN:978 730 217 228 4 内容简介:
汇编语言是各种CPU提供的机器指令的助记符的集合,人们可以用汇编语言直接控制硬件系统进行工作。汇编语言是很多相关课程(如数据结构、操作系统、微机原理等)的重要基础。为了更好地引导、帮助读者学习汇编语言,作者以循序渐进的思想精心创作了这本书。本书具有如下特点:采用了全新的结构对课程的内容进行组织,对知识进行最小化分割,为读者构造了循序渐进的学习线索;在深入本质的层面上对汇编语言进行讲解;对关键环节进行深入的剖析。
本书可用作大学计算机专业本科生的汇编教材及希望深入学习计算机科学的读者的自学教材。
书籍目录:
第1章基础知识
1.1机器语言
1.2汇编语言的产生
1.3汇编语言的组成
1.4存储器
1.5指令和数据
1.6存储单元
1.7CPU对存储器的读写
1.8地址总线
1.9数据总线
1.10控制总线
1.11内存地址空间(概述)
1.12主板
1.13接口卡
1.14各类存储器芯片
1.15内存地址空间
第2章寄存器
2.1通用寄存器
2.2字在寄存器中的存储
2.3几条汇编指令
2.4物理地址
2.516位结构的CPU
2.68086cPu给出物理地址的方法
2.7 “段地址xl6+偏移地址=物理地址”的本质含义
2.8段的概念
2.9段寄存器
2.10CS和IP
2.11修改CS、IP的指令
2.12代码段
实验1查看CPU和内存,用机器指令和汇编指令编程
第3章寄存器(内存访问)
3.1 内存中字的存储
3.2DS 31:1[address]
3.3字的传送
3.4ITIOV、add、sub指令
3.5数据段
3.6栈
3.7CPU提供的栈机制
3.8栈顶超界的问题
3.9puSh、pop指令
3.10栈段
实验2用机器指令和汇编指令编程
第4章第一个程序
4.1一个源程序从写出到执行的过程
4.2源程序
4.3编辑源程序
4.4编译
4.5连接
4.6 以简化的方式进行编译和连接
4.7 1.exe的执行
4.8谁将可执行文件中的程序装载进入内存并使它运行?
4.9程序执行过程的跟踪
实验3编程、编译、连接、跟踪
第5章【BX】和loop指令
5.1 【BX】
5.2Loop指令
5.3在Debu9中跟踪用loop指令实现酮循环程序
5.4Debu9和汇编编译器masm对指令的不同处理
5.5loop和【bx】的联合应用
……
第3章寄存器(内存访问)
第4章第一个程序
第5章[BX]和loop指令
第6章包含多个段的程序
第7章更灵活的定位内存地址的方法
第8章数据处理的两个基本问题
第9章转移指令的原理
第10章CALL和RET指令
第11章标志寄存器
第12章内中断
第13章int指令
第14章端口
第15章外中断
第16章直接寻址表
第17章使用BIOS进行键盘输入和磁盘读写
综合研究
附注
汇编语言 着 译 者:郑晓薇 出版日期:2009-07-13 上架时间:2009-9-2 出 版 社:机械工业出版社 ISBN:978 711 126 907 6 内容简介:
汇编语言是计算机专业的专业基础课程,也是电子、通信及自动控制等相关专业计算机技术课程的内容。本书以80X86系列微型计算机为基础,以MASM5.0为汇编上机实验环境,重点介绍Intel8086指令系统。本书的写作特点为采用实例驱动教学的方法,以丰富的示例和实例在DEBUG下的运行结果为依托展开教学和学习;在编写思路上,将指令系统分散到相关章节,指令的学习与示例、实例结合。采用启发式设问引导教学,在编写结构上提出一个学习框架,便于读者思考和学习。本书中实验练习贯穿始终,在各章中布置了实验任务模块,并在第10章专门安排了综合性设计性实验内容,通过多层次的实验训练来加强各章内容的学习理解、融会贯通。
书籍目录:
前言.
教学建议
第1章 基础知识
1.1 汇编语言基本概念
1.2 计算机中数的表示
1.2.1 进制转换
1.2.2 进制运算
1.2.3 补码运算
1.2.4 编码
1.3 实例一揭开数的面纱
1.3.1 数的正确表示
1.3.2 数的符号问题
习题一
测验一
第2章 计算机基本原理
2.1 冯·诺依曼计算机
2.1.1 冯·诺依曼计算机的原理
2.1.2 冯·诺依曼计算机的基本结构
2.2 微型计算机系统
2.2.1 微型计算机系统概念
2.2.2 微处理器
2.3 80X86寄存器
2.3.1 8086寄存器组
2.3.2 80X86寄存器组
2.4 内存储器
2.4.1 物理地址与逻辑地址
2.4.2 存储单元
2.4.3 存储器分段
2.5 实例二进入计算机
2.5.1 调试工具DEBUG
2.5.2 实验任务
习题二
测验二
第3章 指令系统与寻址方式
3.1 汇编语言指令
3.1.1 机器指令
3.1.2 汇编指令
3.1.3 指令系统
3.2 指令的寻址方式
3.2.1 寻址方式
3.2.2 立即寻址方式
3.2.3 寄存器寻址方式
3.2.4 存储器寻址方式
3.3 实例三寻找操作数
3.3.1 寻址方式的选择
3.3.2 实验示例
3.3.3 实验任务
习题三
测验三
第4章 汇编语言程序设计
4.1 汇编语言程序设计初步
4.1.1 第一个汇编语言程序
4.1.2 从源程序到可执行程序
4.2 伪指令
4.2.1 段定义伪操作
4.2.2 数据定义伪指令
4.2.3 其他伪指令
4.3 基本汇编指令
4.3.1 数据、栈及查表
4.3.2 逻辑地址的获得
4.3.3 符号位扩展
4.3.4 双精度数运算
4.3.5 多字节数运算
4.3.6 混合算术运算
4.3.7 十进制数运算
4.4 屏幕显示和键盘输入
4.4.1 DOS功能调用
4.4.2 直接写显存显示字符
4.5 实例四带彩色显示的算术程序
4.5.1 简化的程序结构
4.5.2 实验示例
4.5.3 实验任务
习题四
测验四
第5章 分支程序设计
5.1 分支的概念
5.1.1 分支结构
5.1.2 一个分支程序例子
5.2 与分支有关的指令
5.2.1 转移地址的寻址
5.2.2 条件转移方式
5.3 位操作的分支程序
5.3.1 逻辑运算
5.3.2 测试指令TEST
5.3.3 移位操作
5.3.4 分支程序举例
5.4 深入分析转移特征
5.4.1 内存空间分配
5.4.2 系统启动
5.4.3 程序的加载
5.4.4 JMP转移特征
5.5 实例五走向分支
5.5.1 分支的选择
5.5.2 菜单程序设计
5.5.3 用分支表实现多路转移
5.5.4 实验示例
5.5.5 实验任务
习题五
测验五
第6章 循环程序设计
6.1 循环的概念..
6.1.1 循环结构
6.1.2 循环程序例子
6.1.3 与循环有关的指令
6.2 循环指令
6.2.1 LOOP循环指令
6.2.2 LOOPZ/LOOPE
6.2.3 LOOPNZ/LOOPNE
6.3 串处理
6.3.1 串的概念
6.3.2 串处理例子
6.3.3 串处理指令
6.3.4 串与循环
6.4 多重循环
6.4.1 多重循环结构
6.4.2 排序程序
6.5 循环程序举例
6.6 实例六循环之循环
6.6.1 循环的执行
6.6.2 实验示例
6.6.3 实验任务
习题六
测验六
第7章 子程序设计
7.1 子程序的概念
7.1.1 主程序和子程序
7.1.2 一个改造的例子
7.2 调用和返回
7.2.1 调用指令CALL
7.2.2 返回指令RET
7.3 过程定义
7.3.1 伪指令PROC
7.3.2 过程属性
7.4 现场保护
7.5 子程序参数传递
7.5.1 寄存器传参
7.5.2 存储单元传参
7.5.3 堆栈传参
7.6 嵌套与递归
7.6.1 子程序嵌套
7.6.2 子程序递归
7.7 实例七子程序与模块化
7.7.1 模块化结构
7.7.2 实验示例
7.7.3 实验任务
习题七
测验七
第8章 宏汇编技术
8.1 宏
8.1.1 宏定义
8.1.2 宏调用
8.1.3 宏展开
8.1.4 宏与子程序
8.1.5 宏的参数
8.1.6 宏运算
8.2 其他宏功能
8.2.1 宏标号
8.2.2 宏删除
8.2.3 宏嵌套
8.2.4 宏库建立与调用
8.3 结构伪操作
8.4 重复汇编和条件汇编
8.4.1 重复汇编
8.4.2 条件汇编
8.5 多模块结构
8.5.1 多个代码段下的模块
8.5.2 模块的参数设置
8.6 实例八宏与多模块
8.6.1 多模块设计
8.6.2 一个段的模块
8.6.3 实验示例
8.6.4 实验任务
习题八
测验八
第9章 中断程序设计
9.1 中断的概念
9.1.1 软件中断
9.1.2 硬件中断
9.1.3 中断类型与中断向量
9.1.4 中断过程
9.2 定制自己的中断
9.2.1 软件中断子程序的编写
9.2.2 中断的设置
9.2.3 软件中断的触发与处理
9.2.4 对除0中断的修改
9.3 BIOS中断
9.3.1 屏幕及光标控制INT 10H
9.3.2 键盘中断INT 16H
9.3.3 时钟中断INT 1AH
9.4 DOS中断
9.4.1 DOS显示功能调用
9.4.2 DOS键盘功能调用
9.4.3 DOS日期、时间功能调用
9.5 实例九中断程序应用
9.5.1 时间与计数
9.5.2 实验示例
9.5.3 实验任务
习题九
测验九
第10章 综合性设计性实验
10.1 I/O端口实验
10.1.1 I/O端口地址
10.1.2 IN指令和OUT指令
10.1.3 读取CMOS时钟
10.2 实验项目
10.2.1 实验一CMOS时间和日期
10.2.2 实验二英文打字练习软件
10.2.3 实验三英文填字游戏软件
10.2.4 实验四设计一个小计算器
10.2.5 实验五小学生算术练习软件
10.2.6 实验六进制及编码转换工具
附录A 8086指令系统表
附录B 汇编出错提示信息
附录C 汇编语言各章测验答案
参考文献...
汇编语言 着 译 者:李目海 出版日期:2008-02-01 上架时间:2011-7-17 出 版 社:山东大学出版社 ISBN:978 756 073 550 4 内容简介:
本书以Intel 8086/8088 CPU系列微机为基础机型,较详细介绍了汇编语计的基础知识和基本方法。 全书力求通俗易懂、语言简洁、难点分散、循序渐进。为方便读者学习和掌握每章内容的知识点,本书在每章开篇部分列出该章的重点和难点。为避免出现大量单调乏味的汇编指令堆砌,本书将部分汇编指令讲解融入到程序设计的实例中。为方便读者了解掌握知识的程度,本书为每章内容设计了大量习题,并按知识点分解到每节之后,避免了传统教材将习题集中到每章之后带来的种种不便等问题。为方便读者实验,本书将大量实验项目融入到课程实例和习题中,同时在第四章还专门设计一节课,用于详细讲解如阿做汇编语言试验,以便为学好本课程创造条件。
书籍目录:
第1章 基础知识
1.1 为什么学习汇编语言
1.2 数据的机内表示及转换
1.3 计算机中的有符号数的表示
1.4 计算机的字符表示
第2章 ibm pc微型计算机概述
2.1 ibm pc微型计算机的基本结构
2.2 存储器的组织结构
2.3 intel 8088/8086的编程结构
第3章 指令系统与寻址方式
3.1 汇编语言的指令格式
3.2 指令系统概述
3.3 寻址方式
3.4 指令的执行时间
第4章 汇编语言程序
4.1上机实验过程
4.2 汇编语言中的标识符
4.3 源程序的基本格式与语句分类
4.4 数据定义伪指令
4.5 符号定义伪指令
4.6 段定义及段寻址伪指令
4.7 标号
4.8 表达式
4.9 调整偏移量伪指令
第5章 顺序程序设计
5.1 程序设计的基本步骤
5.2 算术运算指令的应用
5.3 bcd码调整指令及应用
5.4 逻辑运算指令与移位指令的应用
5.5 dos和bios的功能调用
第6章 分支程序设计
6.1 分支程序设计的基本结构
6.2 转移指令
6.3 分支程序的设计
第7章 循环程序设计
7.1 循环程序设计的基本结构
7.2 循环控制指令
7.3 循环程序控制方法
7.4 单重循环程序设计
7.5 多重循环
7.6 串操作指令
第8章 子程序设计
8.1 子程序的基本概念
8.2 子程序定义
8.3 子程序的调用与返回
8.4 编写子程序的基本要求
8.5 子程序的参数传递方法
8.6 子程序的嵌套与递归
8.7 多模块的连接
第9章 高级汇编技术
9.1 宏指令
9.2 重复汇编
9.3 条件汇编
9.4 结构
第10章 综合应用程序设计
10.1 图形显示
10.2 发声程序设计
10.3 磁盘文件存取程序设计
第11章 汇编语言与高级语言的接口
11.1 内嵌汇编代码的方法
11.2 模块连接方法
第12章 intel 80×86的汇编语言
12.1 intel 80×86微处理器概述
12.2 intel 80×86微处理器的指令系统
第13章 windows环境下32位汇编语言
13.1 概述
13.2 编程环境
13.3 windows api函数
13.4 win32汇编程序的语法结构示例
附录1 ascii码字符表
附录2 8086指令系统一览表
附录3 masm出错信息
附录4 debug命令
附录5 dos和bios调用表
参考文献

⑨ C++自学教材推荐

1.《C++Primer》
有“C++的网络全书”,C++程序员人手必备。对语法、语义的描述非常细致和严谨,适合有一定经验的C、C++程序员作为工具书和理论指导书使用,但由于其有一定深度,而没有进阶顺序的章节安排,所以不适合初学者做为教材使用,价格略高。

难度:★★☆

质量:★★★★★

广度:★★★★★

深度:★★★★

性价:★★★☆

2.《C++Primer Plus》
初学C++不错的书,覆盖面较全,章节安排比较合理,由浅入深,也很容易,故因此失去了一些深度。价格比较便宜,但翻译质量略有不足。

难度:☆

质量:★★★☆

广度:★★★★

深度:★★★

性价:★★★☆

3.《Essential C++》
lippman的一部面向初学者的作品。在他写了那么后一本primer之后,为何还要写这么薄这么浅的书呢?其实primer对于初学者来说太笨重了,而这本书却是从不同的方面——C++的本质和组织结构对语言进行阐释,可以帮助初学者对这门语言有一个大致的了解,但知识范围不很全面,不适合系统学习,读者需要一定的编程知识。

难度:★☆

质量:★★★★

广度:★★★☆

深度:★★★

性价:★★☆

4.《Effective C++》、《More Effective C++》
C++真牛人大手笔,之以条款的形式回答了程序员在使用C++时经常提出的“因该注意些什么?”,“因该避免什么?”,“因该怎样去解决?”,“为什么?”等问题。C++程序员想要让自己的水平上更高的档次,此二书必看。价格稍贵,有一定难度,不适合初学者。

难度:★★★☆

质量:★★★★★

广度:★★★

深度:★★★★★

性价:★★
5.《C++编程思想》
除了讲述语言之外,有一定的工程性,从设计者的角度来描述C++怎样应用在实际的项目中。语言描述的全面性欠佳,但还是有一定精度的,尤其是在一些小技巧方面。本书还引入了大量的战例,通过一个个的真实项目来引导你使用C++的思想去思考问题。翻译很差,有一定难度。

难度:★★☆

质量:★★★

广度:★★★☆

深度:★★★★

性价:★★★

6.《C++大学教程》
正如其名,真正的大学教程,非常适合初学者学习,内容由浅入深,对C++各项特性的描述都很到位,章节的安排很有条理性,但深度略显不足,翻译质量不能称之为很好,有一定的疏漏,但对于厚度来讲,价格还算比较便宜。

难度:★

质量:★★★☆

广度:★★★★★

深度:★★★★

性价:★★★★☆

7.《C++语言的设计和演化》
对于热爱C++的朋友来说,确实好书一本,可以当做小说来读,可以放在厕所或床头上以供消遣。本书对语言本身描述很少,并有一定难度。读者需要对C++有一定了解,不适合初学者阅读。
难度:★★★

质量:★★★

广度:★★☆

深度:★★★★

性价:★★★

8.《C++程序设计语言》
C++之父所作,被称之为“C++圣经”。不仅对语言,而且对语言周边的一些如发展史、语义哲学都有比较详细的描述。对语言的描述较为全面,同时包含一部分和程序库相关联的知识,并有一定深度,适合有一定语言基础的初学者,翻译质量不错,价格适中。

难度:★☆

质量:★★★★☆

广度:★★★★☆

深度:★★★★

性价:★★★☆

9.《深度探索C++对象模型》
第一代C++编译器开发主管所写。如果你想成为真正的C++高手,看这本书,他为你讲述了编译器在处理各种语法时在“后台”所做的事。对C++有较深入了解的读者会在读后有恍然大悟之感。候杰翻译,质量相当不错,但内容太深,只适合对C++有较深了解的读者,价格偏贵。

难度:★★★★☆

质量:★★★★★

广度:★★★

深度:★★★★★

性价:★★

10.《C++程序设计教程》(钱能-清华版)
国人所着,国人水平实在有限,深度和广度欠佳,放在这十大里实在是因为再挑不出好书了。可圈可点之处有讲解较为清析、简单,符合中国学生思路,价格便宜。

难度:☆

质量:★★★

广度:★★★☆

深度:★★★

性价:★★★★★
所有的书都可以自学,就看你有没有耐力了

热点内容
如何知道自己安卓的具体版本 发布:2025-03-31 16:39:37 浏览:895
杂牌电脑怎么查看配置 发布:2025-03-31 16:27:34 浏览:199
linux27 发布:2025-03-31 16:26:51 浏览:150
个人电脑怎么搭建邮政服务器 发布:2025-03-31 16:22:33 浏览:692
安卓短信铃声在哪里设置 发布:2025-03-31 16:22:28 浏览:725
手机无线网密码怎么改 发布:2025-03-31 16:20:58 浏览:369
安卓如何查看苹果icloud备份内容 发布:2025-03-31 16:17:55 浏览:651
宝马x1建议买哪个配置 发布:2025-03-31 16:07:48 浏览:354
4米2冷藏货车什么配置 发布:2025-03-31 16:06:04 浏览:481
ftp的密码怎么设置 发布:2025-03-31 16:05:25 浏览:849