汇编语言/编译原理
-
汇编语言程序设计实训教程秦莲主编;殷肖川等编著汇编语占程J手设计是高校计算机专业的经典课程之一。本书是与《汇编语言程序设计》教材配套的实训教程,编写的日的是使学生通过实验练习加深对理论课程的理解,全书选用多个具有代表性的实验,对汇编语言结构化和模块化程序进行了深入的解析,详细叙述了汇编语言程序的编程与调试过程,并给出正确结果。仝书正文共6章,主要内容包括:汇编语言程序的语句组成、汇编语言源程序的书写格式和汇编语言源程序上机调试运行方法;汇编语言程序没计基本结构实验,即顺序程序实验、分支程序实验、循环程序实验;汇编语言程序子程序调用实验和模块化程序设计实验;I/O程序实验,即键盘扫描实验、显示控制实验和串口通信实验;WIN32汇编程序实验,即显示程序实验、键盘f肖息处理实验和鼠标消息处理实验;汇编语言与C/C++语言的混合程序设计方式,即C/C++嵌入汇编程序实验和C/C++调入汇编程序模块实验。本书可作为高校计算机专业、自动化控制专业及相关专业本科生汇编语言程序设计实验课程的教科书,也可作为相关领域的工程技术人员的实验参考书。
-
微机原理、汇编与接口技术朱定华编著本书系统地介绍了80x86PC机的原理、汇编语言程序设计及接口技术。主要内容包括计算机基础知识;汇编语言与汇编程序;程序设计技术;8086/8088CPU的总线和时序;半导体存储器;输入与输出技术;中断技术;常用可编程接口芯片等。本书内容精练、实例丰富,其中大量的接口电路和程序是作者多年来在科研和教学中反复提炼得来的,因而本书应用性很强,可作为大专院校和高职高专成人高等教育“汇编语言程序设计”、“微机原理及应用”、“接口技术”等课程的教学用书,也可以供从事电子技术、计算机应用与开发的科研人员和工程技术人员学习参考,并适于初学者自学使用。本书特色:·理论与实践紧密结合·内容精练、实例丰富·适合学生循序渐进地学习
-
编译原理何炎祥编著内容提要本书主要介绍设计和构造编译程序的基本原理和方法。内容包括形式语言理论和自动机理论、常用的词法分析方法、各种经典的语法分析方法、语法制导翻译方法、存储器的组织与管理方法、符号表的组织与造查表方法、代码优化和代码生成方法、并行编译程序及编译自动化技术等。本书注重理论与实践、原理与方法的互通,基本概念阐述清晰,讲授深入浅出,循序渐进,系统性强。各章之后还附有难度不一的习题供复习、思考和探索之用。本书既可作为高等院校计算机专业的教材,也可供相关专业师生和科技工作者及软件研发人员学习和参考。
-
80×86汇编语言与计算机体系结构(美)Richard C. Detmer著`本书砂嫌有主流操作系统彩的32位地址环境中介绍了80X86汇编语言和计算机体系结构,使读者能够在汇编语言层面上了解传统意义上的体系结构。本书的主要特点:重点介绍了32位内存模型和32位指令;强调体系结构,如寄存器、内存编址、硬件功能等;阐述了如何在汇编语言中实现高级语言概念提前介绍了汇编语言编程以及Microsoft公司的Windbg调试器随书光盘内容包括:Microsoft公司的MASM汇编程序、全屏幕调试器WinDbg和链接器以及完整的源代码和作者自己编写的用于辅助I/O的软件。
-
汇编语言程序设计徐建民,王东,邵艳华编著本书以80x86/Pentium系列微处理器为背景,系统地介绍汇编语言程序设计的基础知识、基本方法和应用技术。全书内容分为12章。第1~4章介绍汇编语言程序设计的基础知识,第5~9章详细讲述汇编语言程序设计的基本方法,第10~11章对保护模式下的程序设计进行介绍,第12章介绍高级汇编技术。本书是高等院校计算机及相关专业本、专科的汇编语言课程教材,也可以作为从事有关工作的技术人员的参考书。
-
编译器构造(美)查尔斯·N.费希尔(Charles N.Fischer),(美)小理查德·J.勒布朗(Richard J.LeBlanc)著《编译器构造:C语言描述(英文版)》提供了创新的编译器构造方法,通过大量的示例和练习,读者可以从头至尾学习如何设计一个可用的编译器。书中均衡讨论了编译器设计中的理论与实现两大部分,详细讨论了标准编译器设计的相关主题 (如自顶向下和自底向上的语法分析、语义分析、中间表示和代码生成) 。本书中所有的程序均采用易读的基于C语言的代码来表示。本书是一本优秀的编译器构造方面的教材,已经被国际上多所大学所采纳,适用于高等院校计算机专业的学生和使用C语言的专业程序员。均衡讨论编译器设计的理论与实现两大部分,既很好地介绍了编译器理论,又提供了大量的编译器设计示例和练习。《编译器构造:C语言描述(英文版)》的主要特点:强调使用可以生成语法分析器和词法分析器的编译器工具。彻底讨论LR语法分析和归约技术。介绍了FLex和ScanGen。在每章末尾包含可选的高级主题。
-
汇编语言程序设计殷肖川 主编内容简介目录 汇编语言程序设计是高校计算机专业的经典课程之一。本书系统介绍了基于80x86的汇编语言程序设计方法和技术。主要内容包括:80x86指令系统、寻址方式、宏指令与伪指令、汇编语言格式与程序程序结构、分支程序设计、循环程序设计、子程序设计、宏汇编技术、系统功能调用与使用方法、I/O程序设计方法与中断程序设计、C/C++语言与汇编语言混合编程技术、基于Win32的汇编程序开发技术等。全书深入讨论了各种实际应用问题和解决问题的方法,并给出了大量的实例。各章均附有习题,便于学生课后练习。附录部分给出80x86指令表、BIOS中断调用和debug命令表。 本书遵循理论与实践相结合的原则,系统地介绍了汇编语言程序设计的方法和技术,便于组织教学。此外,考虑到目前大部分应用系统都是基于Windows系统之上的原因,传统的基于DOS的应用平台已不能满足现实应用的需求,因此在内容安排上较为详细地介绍了Win32汇编编程技术及Win32汇编语言与C/C++语言诉混合编程方法,使读者能够对Win32汇编编程有一个初步的认识。 本书可作为高校计算机专业、自动机化控制专业及相关专业本科生汇编程序设计课程的教科书,也可作为相关领域工程技术人员的参考用书。汇编语言是提供给用户直接访问计算机系统最快而又最为有效的一种编程语言。使用汇编语言编写程序能够充分发挥计算机硬件系统的功能,具有占用存储空间少、运行速度快及代码质量高等优点。那些需要对计算机硬件进行控制或对运行时间和效率有较高要求的系统软件或应用软件,通常都是用汇编语言编写的。此外,通过汇编语言程序设计的学习,学生能够对计算机系统的组成及工作原理有更深刻的理解。因此,汇编语言程序设计始终是作为高校计算机及相关学科的经典课程之一。面对计算机技术的迅猛发展和操作系统的更新换代,传统的基于DOS平台的汇编程序设计已不能满足需要。本书从便于教学和注重实际应用出发,在内容编排上既兼顾以传统的Intel 8086/8088为代表的16位汇编程序设计,同时又以较大篇幅介绍了以80386/80486/Pentium为代表的32位汇编程序设计、Win32汇编技术及32位汇编与C/C++混合编程的方法。本书正文共9章,从内容上可分3部分。第一部分(第1-6章)主要介绍8086/8088指令系统及其汇编语言程序设计方法。第1章介绍了学习汇编语言程序的基础知识,包括微型计算机系统的组成与发展概况、数据信息的表示及运算方法。第2章介绍了微型计算机系统的组织结构,包括Intel 8086/8088微处理器、存储器及I/0接口等内容。重点讨论了Intel 8086的内部结构和外部引脚功能,对其内部寄存器组的设置与功能进行了较详细的说明。第3章针对8086/8088微处理器,详细介绍了其指令系统和寻址方式,对各类指令的指令格式、指令功能和使用方法进行了重点阐述。第4章系统介绍了MASM汇编语言的语句格式、汇编程序结构及上机调试方法。介绍了常用伪指令、宏指令的使用方法。第5章针对汇编语言的特点,详细介绍了汇编语言程序的设计方法。重点介绍了顺序结构、分支结构、循环结构、子程序及模块化程序设计技术,并结合大量实例对汇编语言程序的编程方法进行了详尽的说明。第6章重点阐述了I/0程序和中断程序的设计方法。介绍了I/0的基本概念、I/0控制方式、I/0指令,叙述了中断的概念及其工作过程,列举出计算机系统中若干个常用的中断及其功能调用方法,详细介绍了I/0程序的编程设计方法,并给出了典型I/0程序的实例。第二部分(第7章和第9章)主要介绍32位汇编及Win32汇编方法。第7章简单介绍了常用32位CPU的处理器结构、寄存器组及工作方式,在此基础-上重点阐述了常用32位扩展指令的功能及应用,最后介绍了32位程序的设计方法。第8章介绍了汇编语言配合APl开发基于Win32平台的应用程序的方法。包含程序框架、资源文件的使用和Windows消息处理3部分内容,借助API编写32位Windows程序,可以充分利用Windows的高级特性,得到短小精悍的可执行文件。第三部分(第8章)主要介绍汇编语言与C/C++混合编程技术。首先介绍了高级语言与汇编语言的混合编程方式和实际应用。在嵌入式汇编方式中,详细阐述了嵌入式汇编的编程方法和相关约定,介绍了利用嵌入式汇编语言编写C/C++函数的具体方法,对嵌入式汇编指令如何访问C/C++语言程序中的常量、变量和函数进行了描述,并给出了设计实例。在模块调用方式中,阐述了模块间的连接方式,重点讨论了C/C++语言程序调用汇编模块的方法,对调用接口、参数传递、返回值处理、寄存器的使用、变量的引用等进行了深人的分析,并结合应用示例进行了说明。本书由殷肖川同志负责组织编写。具体编写分工是:第1、3、4章由秦莲编写;第5、6、8章由殷肖川编写;第7、9章由孙鹏编写;第2章由赵雪岩编写;姬伟锋同志参加了部分章节的编写和程序调试工作。本书的编写过程中,还得到了许多老师和研究生的支持:蔡飞华、李嘉生同志审阅了本书初稿,并提出宝贵意见;高丁、吴传芝、王欣同志对书中的实例及图表做了大量的工作。在此对他们的辛勤付出表示感谢。由于编者水平所限,书中难免存在错误和不妥之处,敬请广大读者批评指正。 第1章 汇编语言基础知识1.1 概述1.2 进位计数制及相互转换1.3 数值信息表示1.4 字符表示法1.5 基本逻辑运算1.6 程序设计语言习题第2章 微型计算机系统组成2.1 微型计算机系统硬件结构2.2 8086/8088微处理器2.3 存储器组成2.4 系统总线2.5 输入/输出接口2.6 80x86系列微处理器简介2.7 微型计算机软件系统习题第3章 8086寻址方式与指令系统3.1 8086的寻址方式3.2 8086指令系统3.3 处理器控制指令习题第4章 8086汇编语言4.1 汇编语言源程序格式4.2 伪指令语句4.3 汇编语言程序的调试与运行习题第5章 汇编程序设计5.1 程序设计方法5.2 顺序程序设计5.3 分支程序设计5.4 循环程序设计5.5 子程序设计5.6 模块化程序设计习题第6章 输入/输出与中断控制6.1 I/O概述6.2 简单I/O程序举例6.3 中断系统6.4 系统功能调用与BIOS中断6.5 软中断开发习题第7章 32位指令及其编程7.1 32位微处理器结构7.2 80x86 CPU的工作方式7.3 32位扩展指令7.4 32位程序设计习题第8章 汇编语言与C/C++混合编程8.1 混合编程方式8.2 C/C++的嵌入式汇编8.3 用C/C++调用汇编模块习题第9章 Win32程序设计9.1 汇编语言Win32程序简介9.2 资源文件的使用9.3 Win32程序设计实例习题附录A ASCII码表附录B DOS和BIOS的宏定义附录C DEBUG命令表附录D 中断列表附录E Pentium指令的执行周期数参考文献
-
汇编语言编程艺术(美)Randall Hyde 著;陈曙晖 译译者简介:陈曙晖,国防科技大学计算机专业博士,老师。1998年参加工作,在国防科技大学网络与信息安全研究所从事银河超级计算机网络系统和核心路由器的开发工作,担任核心路由器配置管理分系统的开发负责人,曾获得军队科技进步奖一等奖一项(银河超级计算机网络系统)、二等奖一项(核心路由器系统)。审校者简介:毛希平,博士,清华大学计算机系老师,主讲“汇编语言程序设计”课程,并在清华大学计算机系高性能计算研究所从事研究工作,主要研究方向:并行计算和网格计算。查看本书序言(作者:清华大学教授温冬婵)相信很多人都看过该书的网络版,它浓缩了网络版的精华,特别是对HLA的讲解,可谓入木三分。——CherryLam(高级程序员,印度)我一直认为,只有经过多年的学习和实际演练,才能掌握汇编语言程序设计,这本书改变了我的看法。——JamesBrodin(软件公司技术总监,美国)对于想快速成为汇编语言开发人员的学习者来说,本书是多年难遇的好书。——ConnyMeilin(大学教授,瑞典)作者将多年来的开发和教学经验融合在大量的编程实例中,读者通过本书能快速地学会汇编语言程序设计,掌握其中的编程技巧——温冬婵(清华大学教授,中国)本书以X86系列微机为背景,从简单的Hello程序开始,系统而详细地阐述了X86微机汇编语言编程的各种基础知识和编程技巧,内容涉及到数据表示、存储器管理、各种数据类型、过程、与汇编语言相关的体系结构、控制结构、文件、宏指令、位处理指令、字符串指令、MMX指令、类和对象,以及混合语言编程等,尤其是在高级汇编语言(HLA)方面,该书给予了细致深入的讲解。对于有意学习X86汇编语言编程的程序员来说,这是一本难得的好书。本书的作者RandallHyde在大学中教授汇编语言十多年,并且开发了好几个商用软件,具有丰富的汇编语言开发经验。该书的英文电子版受到了成千上万的网站和高级程序员的高度评价,已经成为了高级汇编语言编程方面的一本经典之作。虽然该书的出版时间不长,但在Amazon上为该书作出评价的人很多,而且几乎所有的人都给予5星的评价,可见其内容之好。笔者相信,随着时间的推移,它在程序员中的影响回越来越大。
-
可变目标C编译器——设计与实现(美)Christopher W.Fraser,(美)David R.Hanson著;王挺,黄春等译本书的两位作者都具有深厚的教学和研究背景。ChristopherW.Fraser从1975年起开妈研究编译技术,尤其对于从紧缩规范自动产生代码生成器这一技术有深入的研究,在该领域发表了多篇论文。他提出了可变目标的窥孔优化方法,该方法被广为流行的C编译器——GCC所采纳。从1997年到1986年,Fraser在亚利桑那大学从事计算机科学的教学工作。1986年以后,他在AT&T贝尔实验室主持计算技术的研究工作。DavidR.Hanson是普林斯顿大学计算机科学教授,具有20多年的程序语言的研究经验,主持了与贝尔实验到的合作研究,是Lcc的开发者之一。
-
GCC技术参考大全(美)Arthur Griffith著;胡恩华译;胡恩华译本书内容特色:·在各种UNIX平台(包括Linux和BSD)上开发和部署软件·安装并使用自己的编译器编译C、C++、Objectivec、Fortran、Java和Ada·为众多平台生成本地可执行代码虽然在当今的计算机界中,正在进行的自由软件运动不一定是最重要的,但我们确实正处于一个巨大的变革的中心。软件的所有权正在由公司专有变为可根据任何目的自由获取和使用。目前,自由软件不仅包括程序语言编译程序和连接程序,而且还有大量的工具,图形化的用户界面环境,甚至包括整个操作系统。除此之外,还有一个事实就是所有的自由软件都是由GCC编译的,因此可否将GCC称作软件世界中最重要的一部分也就值得探讨了。当然,有很多种语言可用于编写程序,这些语言也都有很多编译程序,但这些编译程序中的绝大部分都是由GCC编写成并编译的。从某些方面来看,所有的自由软件都源起于GCC。有些计算机公司已经开始放弃自己的编译程序而选择简单安装GCC编译程序了。使用GCC是免费的,而且还能得到持续的功能扩展和维护。伴随着最近加入GCC家族的两种语言:Java和Ada:GCC编译程序的羽翼扩展得更大更广了。这使得GCC可用的语言达到6种:C、C++、Objective-C、Fortran、Java和Ada。而且它还在不断地开发其他语言,例如COBOL,如果有足够支持就会将这些语言也加入GCC。