汇编语言/编译原理
-
现代体系结构的优化编译器(美)Randy Allen,(美)Ken Kennedy著;张兆庆等译;张兆庆译本书介绍对现代体系结构的编译器进行优化的方法,理论基础是基于循环依赖的。分析基于依赖的变换的正确性论述和依赖测试的详细过程。剖析怎样扩展依赖去处理循环嵌套中的控制流以及跨越整个程序的过程。本书还讨论怎样能用依赖来回答现代计算机系统编译中的众多重要问题,包括支持不同类型体系结构(例如,向量、多处理器、超标量)的并行化,存储层次结构的编译器管理,带指令级并行性的机器的指令调度。最后,介绍一些不大为人熟知的应用,如硬件设计、数组语言实现以及消息传递系统的编译。设计具有高性能微处理器的现代计算机体系结构,能够极大地提高计算机在性能方面的潜在优势。然而其高度的复杂性使得产生有效代码和实现其全部优势变得愈加困难。这本出自两位学术权威的具有里程碑意义的教科书,重点阐述了编译器对于解决这个至关重要问题所起到的关键作用。数据依赖是在高性能微处理器和并行体系结构上优化程序的基本编译器分析工具。它能使所编写的编译器自动地将简单的串行程序转换成具有现代体系结构特征的程序。数据依赖支持许多变换策略,也应用于一些重要的优化问题,本书对此做了全面介绍,并对基于数据依赖的编译器优化的重要性和广泛应用性进行了论证,给出了理解和实现它们所需要的基础,同时还为手工转换程序提供了详细说明。书中介绍的方法是基于过去二十多年的研究成果.取材于在美国Rice大学的研究原型和几个有关的商业系统中实现的策略。致力于现代计算机体系结构设计和优化编译器的研究人员、业界专家和研究生都可以从本书中获益。本书特点:●提供一种简单实用的算法和方法的指南,在高性能微处理器和并行系统中是最有效的●用处理过的例子示范每个变换●用实例分析编译器如何实现每一章中描述的理论和实践●介绍存储层次结构问题的最完善的处理方法●全书用依赖图来阐明排序关系●涉及各种语言。包括Fortran77、C、硬件定义语言、Fortran 90和High Performance Fortran -
80X86汇编语言程序设计廖智主编本书以当前广泛使用的8X86系列微型计算机为背景,系统介绍了汇编语言程序设计的基本理论和方法,以大量实例讲述了如何用汇编语言开发应用程序,以及上机调试和运用汇编语言程序的方法,同时详细介绍了8386后继机型的增强功能。本书共分八章,内容由浅人深,循序渐进,力求遵循面向应用、重视实践的原则,着重培养学生动手能力和思维方法。本书是应用型本科计算机科学与技术专业规划教材,适用于一般工科院校计算机及相关专业的本科教学使用,也可作为计算机工作者学习汇编语言的自学参考书。"汇编语言程序设计"是计算机专业的重要专业基础课,是从事计算机研究与应用,特别是软件研究的基础,是计算机专业必修的核心课程之一。该课程从系统软件和应用软件设计的角度出发,以目前使用最为广泛的8X86系列微型计算机为例,系统地介绍了汇编语言的基本概念、基本原理和程序设计的常用方法与技术,并通过具体实例,叙述了用计算机解决实际问题的全过程,同时还介绍了在8X86机上调试运行汇编语言程序的方法及其最新集成软件CmasmW的使用。本书作为应用型本科计算机科学与技术专业规划教材之一,是以着重培养学生动手能力和思维方法为目的编写的。全书在内容的选取、概念的引入、文字的叙述以及例题和习题的选择等方面,都遵循面向应用、重视实践的原则。全书共分九章。第一章介绍了学习8X86汇编语言程序设计所需的基础知识;第二章详细介绍了七种寻址方式及指令系统的格式、功能及使用方法;第三章主要介绍了伪指令、汇编语言程序结构和汇编语言程序的上机过程;第四章先介绍了常用的DOS功能调用,然后,系统地介绍了顺序、分支和循环程序设计的基本方法及技巧;第五章重点介绍了子程序设计的基本方法及技巧;第六章主要介绍了输A-/输出的程序设计和中断程序设计的概念和方法,以及ROMBIOS和DOS中断调用的调用方法,其中还特别介绍了"鼠标中断调用";第七章全面介绍了高级汇编语言技术:宏汇编、重复汇编、条件汇编、多模块程序设计以及汇编语言与高级语言的连接;第八章简介了8386后继机型的增强功能。第九章的实验部分具体规定了各次实验的目的要求、实验内容以及实验思考题,以方便读者自学和加强实践环节。汇编语言程序设计是一门实践性很强的课程,它需要复杂的脑力劳动,还可以培养学生的创造性和动手能力。为了帮助读者更好地掌握汇编语言程序设计的技巧,书中结合应用安排了丰富的例题和习题。读者可以通过这些例题学习一些规律,并且要认真完成习题,同时做到多编程序,多上机实践,这样,才能真正掌握程序设计的方法与技巧。本书由廖智担任主编,负责全书的总体规划和统稿工作。其中,赵鸿宇编写第一、二章;廖智编写第三~五章,第六章的部分,第九章的部分(实验一~四)和附录;徐爱芸编写第七、八章,第六章的部分和第九章的部分(实验五-八)。中南大学的杨路明教授在百忙中审阅了全部书稿,并提出了宝贵的修改意见,在此表示衷心的感谢。由于编者水平有限,书中不妥或错误之处在所难免,殷切希望广大读者批评指正。 -
80x86汇编语言程序设计沈美明,温冬婵编著《80x86汇编语言程序设计》由基础理论、编程工具、编程方法和实际应用4部分组成,共13章。第1、2章为基础理论部分,包括数制、码制等基础知识,计算机组成及基本原理;第3、4章介绍编程工具,包括指令系统、寻址方式、伪操作和汇编语言格式;第5~9章和第13章讲述编程方法,包括循环、分支、子程序等基本程序结构,定汇编技术,中断等输入输出程序设计方法,BIOS和DOS系统功能调用方法,以及多个模块的连接技术;第10~12章为实际应用部分,包括图形显示、发声和磁盘文件存取技术。《80x86汇编语言程序设计》不仅可以作为高等院校“汇编语言程序设计”课程的教材,也可以供需用汇编语言的工程技术人员和科研人员使用。 -
编译原理何炎祥编著内容提要本书主要介绍设计和构造编译程序的基本原理和方法。内容包括形式语言理论和自动机理论、常用的词法分析方法、各种经典的语法分析方法、语法制导翻译方法、存储器的组织与管理方法、符号表的组织与造查表方法、代码优化和代码生成方法、并行编译程序及编译自动化技术等。本书注重理论与实践、原理与方法的互通,基本概念阐述清晰,讲授深入浅出,循序渐进,系统性强。各章之后还附有难度不一的习题供复习、思考和探索之用。本书既可作为高等院校计算机专业的教材,也可供相关专业师生和科技工作者及软件研发人员学习和参考。 -
十五规划计算机系列教材刘念暂缺简介... -
编译原理及其习题解答何炎祥 等编编译程序是计算机的重要系统软件,是高级程序设计语言的支撑基础。全书共14章,分别介绍了:形式语言、解法分析,自上而下语法分析,存储组织与管理等。本书第一章讲述编译程序的功能、结构、工作过程、组织方式、编译程序高级语言的关系以及编译自动化方面的基本知识。第二章介绍语言理论,本书给出了使于理解、有助于研究各种分析方法和设计构造编译程序的形式语言理论,并着重介绍了上下文元关方法。有穷自动机是描述词法的有效工具,也是进行词法分析的主要理论基础。因此,第三章专门讨论有穷自动机,它与正规方法、正规表达式之间的对应关系以及它的确定化和最小化方面的知识,略去了像Turing机及可计算性理论方面的内容。第四章讨论词法分析的功能和词法分析程序的设计方法。上下文无关方法可用于描述现今大多数高级程序设计语言的语法,也是语法分析的主要理论支柱。为此,在接下来的几章里,主要讨论了与上下文无关方法相关的各类语法分析方法。第五章介绍自上而下分析方法。第六章讨论自下而上分析方法的一般原理和优先分析方法,包括简单优先分析技术和算符优先分析方法。第七章专门讨论自下而上的分析方法。第八章介绍语法制导翻译方法,主要讨论了SDTS的基本原理、属性翻译方法以及它们在中间代码生成中的应用。第九章讨论运行时的存储组织与管理,其中考虑了一些重要的语言特征。第十章讨论符号表的组织和存取符号表的各种方法。第十一章介绍常用的优化方法。第十二章简单讨论代码生成的原理。第十三章、第十四章分别介绍词法分析器生成工具LEX和语法分析器生成工具YACC,以便于课程的教学实习和课程设计。 -
嵌入式软件基础(美)刘易斯编本书是对高等院校本科二年级计算机组成原理与汇编语言程序设计的传统教材的全新替代版。本书以实践中最常运用的方式讲解汇编语言——实现小型、快速或特殊目的的例程,这些例程由主程序(高级语言编写,如C)调用。通过运用嵌入式软件环境,本书介绍多线程程序设计、可抢占式系统与非可抢占式系统、共享资源和调度,从而为操作系统、实时系统、计算机网络及基于多处理器的设计等后续课程提供了坚实的基础。本书将帮助读者:理解通常为人们所忽视的二进制表示的后果和局限性问题;运用定点(而非浮点)实数实现快速实数运算;加强对于作用域、参数传递、递归和内存分配的理解;运用C语言的特性(如位操作和变量访问),这些特性在嵌入式软件中广泛应用;编写Intel x86保护模式下的汇编函数,由C程序调用;估算不同类型输入/输出程序设计的最大数据速率和等待时间;管理多线程、共享资源和临界区;开发程序设计实例,以避免优先级倒置、死锁和共享内存问题。本书适用于高等院校工科各专业本科嵌入式计算机系统程序设计、C语言程序设计及汇编语言程序设计类课程,也可供相关技术人员学习参考。 -
编译方法学习指导与实践贺汛编著本书是编译原理课程的辅导教材。书中对该课程的各部分内容进行了整理、归纳和总结,并指出其重点。同时,选取了一些具有一定难度和代表性的例题,进行了深入细致的分析和解答,为读者提供了解题思路和解题方法。书中还精选了一些与历届研究生入学试题相类似、难度相当的题目作为习题,并给出了参考答案。另外,本书还设计了一个简单的程序设计语言的编译程序,并将其作为实验内容,通过该实验可使读者加深对编译理论的理解,提高程序设计水平。本书可作为编译原理课程的考研复习用书、教学辅导用书和实验指导书,也可作为计算机软件人员的参考资料??前言编译技术是计算机语言发展的支柱,也是计算机科学中发展最迅速、最成熟的一个分支。编译原理作为计算机专业的一门核心课程,在教学中占有十分重要的地位。由于其内容具有较强的理论性和实践性,学生在学习过程中普遍感到内容抽象、难于理解、题目难做。为此特编写本书,希望本书能够成为学生学习编译原理的好帮手,能使读者更全面、更透彻地理解和掌握编译的原理和方法,不再感到这门课程难学。本书作为编译原理课程的学习辅导用书,内容包括了编译各阶段的基本理论与方法,以及在编译过程中涉及到的一些问题。全书共分9章:第1章简单介绍了编译程序的功能、编译阶段的划分及编译程序的结构;第2章对语言与它的描述工具——文法进行了叙述;第3章为词法分析,涉及的主要技术是正规式与有限自动机:第4章为语法分析,主要包括自顶向下分析法中的预测分析法(LL(1)分析法)和递归下降分析法、自底向上分析法中的算符优先分析法和LR分析法:第5章为语法制导翻译与中间代码生成的相关内容;第6章介绍了编译过程中大量使用的符号表,包括它的作用及组织方法和管理方式;第7章从编译的角度介绍了程序运行时如何分配、管理好存储空间:第8章为代码优化,主要介绍了局部优化、循环优化的方法;第9章为目标代码生成,主要介绍了基本块的优化算法。书中每章的结构都相同,包括四部分:(1)主要内容。介绍这一章应掌握的概念、技术和相关算法,并点出这一章的重点;(2)例题解析。精选了一些典型题目,给出了解题思路、解题方法和要注意的问题,题目不多,但具有代表性:(3)习题。要学好编译的方法,就必须亲自动手做题目,这里给出了一些与例题相对应的作业:(4)习题参考答案。对习题中的每一道题目都给出了参考答案,大部分题目还给出了解题过程。本书还给出了一个简单的程序设计语言(S语言)的编译程序,将其作为实验。该实验将编译程序划分为三遍,分别实现词法分析、语法分析并生成中间代码、生成目标代码。书的最后附上了C语言程序清单。本书实验程序由戴跃发、刘继臣、王继刚等同学编程、调试,在此表示衷心感谢。由于作者水平有限,书中不妥之处,敬请读者批评指正。编者 -
新概念汇编语言教程张增年等编本书针对8086/8088微处理器详细论述了微型计算机汇编语言程序设计的原理和方法,以简洁的语言风格剖析了汇编语言程序的基本结构,数据表示法,指令集,伪指令,操作符和寻址方式,屏幕处理和算术运算以及编程技巧,各种调试程序的手段等。该书既是计算机专业汇编语言课程的教科书,也是电子类专业的教科书,同时可作为从事信息技术人员学习汇编语言和微机原理的参考书。 -
现代编译器的Java实现(美)Andrew W.Appel等著;陈明等译;陈明译本书是一本编译技术的教程,其特点是注重实现。从学习编译器的结构来掌握理论,并通过编程技术将编译理论融合于实践中。本书主要内容分为两部分,第一部分为编译基础(第1章至第12章),主要包括:词法分析、语法分析、抽象语法、语义分析、活动记录、翻译成中间代码、基本块和轨迹、指令选择、活性分析、寄存器分配、 使之成为整体。第二部分为高级课题(第13章至第21章),主要包括:无用信息收集、面向对象语言、函数式编程语言、多态类型、数据流分析、循环优化、静态单赋值表、流水线和调度、分级存储器体系等。本书可作为高等院校编译技术课程的教材、教师参考书以及编译技术研究人员的参考资料。
