新编汇编语言程序设计
2010-3
清华大学出版社
杨文显 编
280
我国计算机程序设计语言课程的教学,经历了如下两个阶段。在我国计算机教育的早期,计算机语言种类少,学习一门语言可以用上许多年,学好、学透一门语言,是该课程教学的主要目标。至于程序设计能力,则有待于在实践中逐步提高。该教学体系的特点就是以语言为主线,从这种语言的字、词、句、章出发,系统地理解该语言的语法、语义规范,在这个基础上,再展开程序设计的教学。学完这门课程,学生可以获得该程序设计语言较为系统、完整的知识。但是,由于语言和程序设计的教学被人为地割裂开来,学生的程序设计能力没有得到充分的锻炼,最终的课程目标往往不能顺利地实现。进入20世纪90年代,新的计算机程序设计语言不断推出。人们发现,花大力气系统学习的一种语言,还没有充分地得到使用,功能更强,使用更方便的新的程序设计语言又诞生了,人们不得不一次又一次地弃旧从新。有了上次的经验,他们会按照程序设计的需要,跳跃性地学习语言知识,也就是围绕着怎样编写程序这个中心来展开语言的学习。新的教学体系根据程序设计由易到难的次序,选择对应的语言元素进行教学,不再强调语言本身的完整性。这种方法可以较快地进入程序设计的主题,目前大多数程序设计语言的教学都采取这种模式。但是,十分遗憾的是,到目前为止,国内大多数汇编语言教材内容的组织仍然可以归属为上面所叙述的第一种类型。产生这种局面的原因大致有两个方面。首先是因为汇编语言是一种面向机器的低级语言。较之其他语言,它的语言元素粒度小,一个最简单的有意义的程序,也需要约20行的代码,涉及十余种符号指令和伪指令,各知识点之间的关联度较高。想绕过众多的语言成分,直接进入程序设计主题,教学组织的难度较大。另一个原因则是因为,早期的处理器相对简单,指令总量有限,相对完整地介绍汇编语言的语言元素还是能够做到的。但是,现在的情况发生了许多的变化。首先,我国的高等教育得到了快速的发展,在校学生总量成倍地增加,高等教育从精英教育向大众教育变迁。加上汇编语言自身的一些特点,使得以语言为中心展开教学的难度越来越大,学生普遍感到汇编语言程序设计难学,难掌握。
本书以80×86指令系统和Borland公司TASM 5.X软件为主要背景,系统介绍了汇编语言程序设计的基本概念和方法。内容包括汇编语言程序设计基础、存储器数据定义与传送、数据运算和输入输出、选择与循环,子程序,字符串和文件处理,显示程序设计以及输入输出与中断。 作者在长期的教学和科研实践中,以亲身积累的教学经验为基础,借鉴了国外许多优秀教材,探索出“以程序设计为中心”,而不是“以语言为中心”展开本课程教学的方法,取得了显著的成效。本书正是在多年积累的基础上,精心编写而成。读者学完本书前两章,就可以编写完整的汇编语言程序。此后,学习新知识的过程,就是不断地进行程序设计训练的过程,在多次“螺旋式”上升的过程中,牢牢地掌握汇编语言程序设计的基本方法。 本书是为计算机及相关专业本、专科的“汇编语言程序设计”课程而编写的,它也特别适合于用作计算机工作者学习汇编语言程序设计的自学教材。
第1章 汇编语言基础 1.1 计算机内数据的表示 1.1.1 进位计数制 1.1.2 数据组织 1.1.3 无符号数的表示 1.1.4 有符号数的表示 1.1.5 字符编码 1.1.6 BCD码 1.2 计算机组织 1.2.1 计算机组成 1.2.2 中央处理器 1.2.3 存储器 1.2.4 总线 1.2.5 外部设备和接口 1.3 指令、程序和程序设计语言 1.3.1 指令和程序 1.3.2 机器语言和汇编语言 1.3.3 高级语言 1.4 80x86寄存器 1.4.1 数据寄存器 1.4.2 地址寄存器 1.4.3 段寄存器 1.4.4 专用寄存器 1.4.5 其他寄存器 1.5 80x86 CPU的工作模式 1.5.1 实地址模式 1.5.2 保护模式 1.5.3虚拟8086模式 习题一第2章 数据定义与传送 2.1 数据的定义 2.1.1 数据段 2.1.2 数据定义 2.2 数据的传送 2.2.1 指令格式 2.2.2 程序段 2.2.3 基本传送指令 2.2.4 其他传送指令 2.2.5 堆栈 2.2.6 操作数表达式 2.3 E编语言上机操作 2.3.1 编辑 2.3.2 汇编 2.3.3 连接 2.3.4 运行和调试 习题二第3章 数据运算与输入输出 3.1 算术运算 3.1.1 加法指令 3.1.2 减法指令 3.1.3 乘法和除法指令 3.1.4 表达式计算 3.2 循环 3.2.1 基本循环指令 3.2.2 程序的循环 3.2.3 数据的累加 3.2.4 多项式计算 3.3 十进制数运算 3.3.1 压缩BCD数运算 3.3.2 非压缩BCD数运算 3.4 逻辑运算 3.5 控制台输入输出……第4章 选择和循环第5章 子程序 第6章 字符串与文件处理第7章 显示程序设计第8章 输入输出与中断附录参考文献
插图:1.数据端口数据端口传递数据信号。数据端口的传送方向可以是输入,也可以是输出。对于输出设备接口,数据首先从CPU写入接口内的数据端口,然后由端口传送到输出设备。对于输入设备接口,数据首先从输入设备送人接口内的数据端口,再由端口送入CPU。2.控制端口控制端口传递CPU对外部设备的控制信号。该信号首先由CPU发出,传递到接口内的控制端口,然后发送到外部设备。控制信号可以是一组直接的命令,如用1位二进制控制外设的某个电动机启动/停止,或者某个阀门的打开/关闭,也可以是一个组合的命令,例如用3位二进制发出8种类型的操作命令,通过电路翻译成8个独立的命令信号送外部设备。控制端口的传送方向总是输出的。 ’3.状态端口外部设备与主机的工作具有异步的特点。任何时间都可以去访问一个存储单元并获得数据,但却不能在任一时刻从键盘获得数据。必须确定键盘已经输入了一项数据,并且尚未被取走,才能通过读操作获得该数据。状态端口从外部设备那里得到状态信号,CPU需要了解这个外部设备的状态时,可以通过读状态端口,得到外部设备的状态,从而确定下一步的操作。状态端口的传输方向总是输入的。状态信号的数量和表达的含义随设备而变。输入设备通常用1bit信号表示Ready。该位=0,表示该设备尚未输入,或者,虽然曾经输入,但已经被取走,没有数据可供读取。
《新编汇编语言程序设计》:普通高等教育“十一五”国家级规划教材,上海市教育委员会高等学校重点课程建设教材,高等院校计算机应用技术规划教材,实用技术教材系列
不错的教材,自学帮助很大!
书很专业,性价比高
总体说还不错比较适合计算机专业工作者学习,
简明,使用,通俗易懂。