出版时间:2009-2 出版社:机械工业出版社 作者:程学先,等 编 页数:309
前言
汇编语言是一门涉及硬件的程序设计语言,汇编语言程序设计是计算机专业的一门重要的专业基础课。汇编语言一般与某一种CPU提供的机器指令相对应,人们可以用它直接控制硬件系统进行工作,可以直接访问计算机系统内部各资源,汇编语言程序具有实时性强、执行速度快、代码效率高等优点。学习汇编语言程序设计时,由于软硬件知识交叉,因此对程序设计能力要求较高,学习难度较大。但学好本课程,对于了解计算机系统的组成结构与工作原理、体验底层编程的经验、更深入地学习程序设计方法很有意义,同时也会更加通透地理解数据结构、计算机组成原理、操作系统等课程中所学的知识,也为学习计算机接口、单片机及其他计算机控制类课程打下坚实的基础。本书以8086/8088指令为主,以实模式下的80x86指令为辅,系统地介绍了汇编语言的基础理论知识和程序设计方法,较深入地介绍了与汇编语言编程相关的硬件知识,强调结构化与软件重用的思想。本教材以面向应用、深入浅出、重视实践、方便教学为宗旨,顺应人们实践—理论—实践的认识规律,面对枯燥、抽象的汇编语言程序,以实例先行,力求突出“怎么用”,再讨论“为什么这样用,规律是什么”,以及如何利用这些基本方法去解决实际问题,引导读者理论联系实际,切实掌握本课程主要知识点,进而提高程序设计能力。 汇编语言是一门程序设计语言,学习程序设计的思想与方法既是学习的重点也是难点,本书的目标就是要帮助读者提高程序设计的能力,较深入地掌握汇编语言程序设计的思想与方法。学习汇编语言时,有些读者已经学习过例如C语言等高级语言,这将为我们理解程序设计的思想打下良好基础;但也可能从未学习过其他语言,此时虽然框框较少,但建立计算机语言与程序设计的概念将是一大难题。汇编语言是多类知识交叉的学科,一部分知识往往还连带着其他的相关内容,如果处理不好这些连带的内容,将影响学习者对当前知识点的理解。但是如果先扫清外围,例如先介绍CPU与存储器的内部结构、数据形式,再介绍指令与指令系统、程序设计方法等等,如此虽然可以做到内容单一,也容易接受,但教学未以程序设计为线索展开,可能在开始学习后相当长一段时间里接触不到汇编语言程序设计的内容,这将令学习过程抽象无趣。本书考虑到这些情况,采用了实践先行的方法,以一个完整的程序实例引导,首先通过演示与动手,对程序设计及一些基本概念、基本方法建立感性认识,从而屏蔽了一些相关知识带来的干扰,在此基础上再逐一展开。学习的过程除了理解还有记忆与模仿,人们往往都是从死记、模仿走向创新的,实践引导的过程将为模仿创造条件,也提供了记忆的线索与内容。以程序为线索展开,将使我们在整个学习过程中的每一步都目标明确、主题清晰、基础扎实,在不知不觉中登上程序设计的巅峰。 汇编语言的主要用途之一是涉及硬件的开发,目前社会上对具有一定硬件基础的计算机人才的需求较旺,本书围绕输入、输出程序设计介绍了若干常用芯片的结构与程序设计方法,既加强了涉及硬件的程序设计技术的教学,也有助于提高设计实际应用系统的能力。 全书共9章。第1章,通过一个完整的8086汇编语言程序示例建立对汇编语言程序及汇编过程的感性认识,在此基础上介绍数据的表示形式、基本的DOS系统功能调用、微处理器的构成、内存与外设的概念。第2章,介绍寻址方式、指令的格式与最基本的一些8086汇编指令,通过一些简单程序段加深对指令的深入理解,同时也充分表现了指令在程序设计中的意义。为做到实践先行,第2章中有些程序(前面加有星号标志)涉及分支与循环,对于没有其他程序设计语言基础的读者,只要求对它们有所印象,实验时原样复制拷贝后编译执行即可,在学习第4章前不要求深入理解与掌握。第3章,介绍汇编语言语句格式与程序结构,伪指令及汇编语言程序开发环境,DEBUG程序调试方法。第4章,系统介绍DOS系统功能调用,程序流程概念,分支与循环程序及其设计方法,串处理程序设计方法。第5章,介绍子程序设计,结构化程序设计思想与方法,宏与宏程序设计方法。第6章,介绍BIOS系统调用,中断的概念,中断程序、输入与输出程序设计的一般方法。第7章,介绍一些常见的接口芯片,在此基础上介绍并行、串行程序,A/D与D/A转换程序,中断控制程序设计等设计方法。第8章,介绍磁盘文件的概念及其管理程序的设计方法。第9章,介绍汇编语言的其他技术,包括结构、重复块、条件汇编、多模块程序设计和C语言与汇编语言相互调用、驻留程序设计等。第10章,介绍80x86汇编的特点及概念。书后给出了几个附录,介绍了汇编语言程序设计常用的指令、DOS系统功能调用、BIOS功能调用等。本书第2、3、4、6章及7.1节、7.2节、7.4节由林姗编写,第5、8、9、10章由程传慧编写,程学先编写其他部分并修改全稿。陈永辉、史涵、鲁瑛、余小燕、周金松、椹章衡等参加校对与程序调试,在此表示感谢。 本书可作为高等院校计算机及相关专业应用类学生教材,也可供从事计算机应用与开发的各类人员学习和使用。建议本课程教学时数为90学时,其中包括实验36学时。由于编者水平有限,书中如有错误和不妥之处,敬请广大读者批评指正。
内容概要
《汇编语言程序设计》以8086/8088指令为主,以实模式下的80x86指令为辅,系统地介绍了汇编语言的基础理论知识和程序设计方法,并较深入地介绍了与汇编语言编程相关的硬件知识。本书注重程序设计思想与方法的学习,强调结构化与软件重用的思想,理论联系实际,以实例引导读者切实掌握汇编语言程序设计课程的主要知识点,进而提高程序设计能力。另外,本书针对社会上对具有一定硬件基础的计算机人才需求旺盛的特点,重点围绕输入、输出程序设计介绍了若干常用芯片的结构和程序设计方法,既加强了涉及硬件的程序设计技术的教学,也有助于提高设计实际应用系统的能力。 本书可作为高等院校计算机及相关专业应用类本科生的教材,也可供从事计算机应用与开发的各类人员学习和使用。
书籍目录
前言第1章基础知识1.1汇编语言概述1.1.1汇编语言程序示例1.1.2机器语言1.1.3汇编语言1.1.4高级语言1.1.5三种语言的特点比较1.1.6汇编语言源程序的格式1.2计算机中数和字符的表示1.2.1不同进位制的数及相互间的转换1.2.2BCD码1.2.3ASCⅡ码1.2.4整数和小数1.2.5原码、反码和补码1.3计算机数的运算规则1.3.1算术运算1.3.2逻辑运算1.480x86微处理器1.4.1微型计算机的结构1.4.2逻辑运算1.5内存储器1.5.1内存单元的地址和内容1.5.2内存储器寻址1.6外部设置小结习题第2章8086指令系统初步2.18086指令格式2.2操作数的形式及寻址方式2.2.1寻址方式的概念2.2.2寻址方式2.2.3寻址方式小结2.3Intel 8086 基本指令2.3.1数据传送指令2.3.2算术运算指令2.3.3位操作指令小结习题第3章汇编语言程序结构3.1表达式3.1.1常量3.1.2数值表达式3.1.3数值表达式3.1.4地址表达式3.2常用的汇编伪指令LABEL3.2.1段定义伪指令3.2.2假定伪指令ASSUME3.2.3置汇编地址计数器伪指令ORG3.2.4符号定义伪指令LABEL3.2.5源程序结束伪指令END3.3汇编语言程序的上机过程3.3.1开发环境3.3.2上机过程3.4调试程序小结习题第4章汇编语言程序设计4.1程序设计方法概述4.1.1程序设计的步骤4.1.2程序流程图设计方法4.2顺序结构程序设计4.3DOS系统功能调用4.3.1DOS系统功能调用的一般方法4.3.2常用系统功能调用4.4分支结构程序设计4.4.1常见的标志处理指令4.4.2控制转移类指令4.4.3分支结构程序设计4.5循环结构程序设计4.5.1循环指令4.5.2循环程序的基本结构4.5.3单重循环程序的设计举例4.5.4多重循环程序的设计举例……第5章结构化程序设计第6章输入输出程序设计第7章通信与模数转换程序设计第8章磁盘文件处理程序第9章汇编语言程序设计扩展第10章80x86/Pentium汇编语言程序附录A指令表附录B伪指令表附录CMSDOS与BIOS调用表附录DBIOS功能调用参考文献
章节摘录
第1章 基础知识 1.1 汇编语言概述 从1946年第一台可编程计算机ENIAC诞生到如今,计算机经历了电子管、晶体管、集成电路和超大规模集成电路四个发展阶段,现正朝着巨型化、微型化、网络化和智能化的第五代计算机发展,已渗透到社会和生活的各个领域。人们与计算机进行交流的“语言”也从机器语言发展到汇编语言与高级语言,现正朝着“自然语言”的方向发展。 1.1.1 汇编语言程序示例 下面是汇编程序及汇编操作过程完整一例。首先,利用纯文本编辑器(例如记事本)编写程序,写入后存盘,要求文件名以ASM为扩展名。例如文件名为AO.ADM,文件存放在文件夹PI中,文件夹名字是由设计者任意取的DOS系统允许的名字。在文件夹PI中要存入汇编编译程序、连接程序与调试程序,例如:MASM.EXE、LINK.EXE、DEBUG.EXE。 ……
编辑推荐
汇编语言是一门涉及硬件的程序设计语言,汇编语言程序设计是计算机专业的一门重要的专业基础课。汇编语言程序具有实时性强、执行速度快、代码效率高等优点、学好这门课程,对了解计算机系统的组成结构与工作原理、体验底层编程的乐趣以及更深入地学习程序设计方法很有意义,同时也有助于更好地理解数据结构、计算机组成原理、操作系统等课程中所学的知识。 本书特点: 认识领先。本书根据人的认识规律实践一理论一实践的特点组织教学内容,在全书开始及各重要章节开始,都以完整的实例引导,学生通过实例能感性地了解到需要学习的内容以及意义,比纯概念式的灌输能产生更好的教学效果。 准确定位。本书强调为应用类读者服务,力求门槛低、内容全、描写细腻,与“应用类”读者群的需求相适应。选择从具有代表性、汇编难度适中的8086/8088入手,重点关注汇编语言程序设计方法,为学生进一步掌握计算机控制技术、学习计算机接口和单片等课程打好基础。 精选用例。本书在设计用例时,突出主要知识点及应用中的关键问题,尽量减少代码量并给出详细注释,让程序结构与设计思想一目了然。 加强输入/输出程序设计的教学。本书加入了对外设操作常用芯片的介绍,着重讨论外部连接、工作方式及其设定,学习相关程序设计方法,突出软件方面内容。对于这一部分,教师可以根据实际方式及其设定,学习相关程序设计方法,突出软件方面内容。对于这一部分,教师可以根据实际情况灵活处理,即使之后开设接口课,多数会基于C语言教学,本书介绍的输入输出内容也是有益的衔接。 配套实验指导。随本书出版,我们在出版社网站上同时发布相应的实验指导材料,采用认识-模仿-组装-创新的结构组织实验内容。在每次实验前,教师可以向学生下发当次实验的电子文档,学生上机时,有些内容只需要复制、粘贴就可以进入实质性的实验,突出汇编语言程序算法与设计方法的学习,避免将大量的时间用到文字输入与审校中。为了让学生充分思考问题,又设计了一些带创新性的问题,包括程序组装与程序设计题,引导学生不断深入。
图书封面
评论、评分、阅读与下载