中图网文创礼盒,买2个减5元
欢迎光临中图网 请 | 注册
> >>
21世纪高等学校规划教材·计算机科学与技术汇编语言程序设计教程

包邮 21世纪高等学校规划教材·计算机科学与技术汇编语言程序设计教程

作者:陆遥
出版社:清华大学出版社出版时间:2017-03-01
开本: 其他 页数: 168
本类榜单:教材销量榜
¥26.5(7.6折)?

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

中 图 价:¥26.5(7.6折)定价  ¥35.0 登录后可看到会员价
加入购物车 收藏
暑期大促, 全场包邮
?快递不能达地区使用邮政小包,运费14元起
云南、广西、海南、新疆、青海、西藏六省,部分地区快递不可达
本类五星书更多>

21世纪高等学校规划教材·计算机科学与技术汇编语言程序设计教程 版权信息

21世纪高等学校规划教材·计算机科学与技术汇编语言程序设计教程 本书特色

《汇编语言程序设计教程》在描述指令与控制方面特别突出,举例丰富,贴近实际,特别强调了控制对计算机的重要性。这在其他同类教材中并不多见。

21世纪高等学校规划教材·计算机科学与技术汇编语言程序设计教程 内容简介

本书讲授Intel 8086微处理器的指令系统,并以Microsoft的MASM 5.0版本宏汇编语言为基础,讲授汇编语言程序设计的基本方法和常用技术。     全书共分5章。章讲授学习汇编语言程序设计所需具备的基础知识,包括指令的概念、数据的表示、数据的存储和处理等;第2章讲授8086宏汇编语言的源程序组成,包括汇编语言的语言成分,常量、变量、标号等的定义,源程序的结构及定义等;第3章讲授8086的指令系统,包括寻址方式和各类操作指令等;第4章讲授8086汇编语言程序设计的基本方法,包括顺序程序、分支程序、循环程序、子程序、宏指令等;第5章介绍8086的中断技术,包括中断的相关概念,中断服务程序设计方法等。     本书可作为高等院校计算机及相关专业的汇编语言课程教材,也可作为从事计算机工作的专业人员的参考书。

21世纪高等学校规划教材·计算机科学与技术汇编语言程序设计教程 目录

第1章 基础知识 1

1.1 汇编语言的特点 1

1.1.1 汇编语言与机器语言的关系 1

1.1.2 汇编语言与高级语言的主要差异 2

1.2 计算机中的数据表示 2

1.2.1 字符数据表示 3

1.2.2 数值数据表示 4

1.3 计算机中的数据存储 9

1.3.1 寄存器 9

1.3.2 存储器 12

1.3.3 I/O端口 14

1.4 计算机中的数据处理 15

习题 15

第2章 8086宏汇编语言的源程序组成 17

2.1 源程序的分段结构 17

2.2 汇编语言的语句结构 17

2.2.1 名字项 18

2.2.2 操作项 19

2.2.3 操作数项 19

2.2.4 注释项 21

2.3 常用伪指令 21

2.3.1 处理器选择伪指令 21

2.3.2 段定义及源程序结束伪指令 22

2.3.3 变量定义与存储空间分配伪指令 24

2.3.4 替代符定义伪指令 28

2.3.5 段内偏移地址指针设置伪指令 29

2.3.6 过程定义与宏定义伪指令 30

习题 30


第3章 8086指令系统 32

3.1 指令系统基本概念 32

3.2 寻址方式 33

3.2.1 操作数的寻址方式 33

3.2.2 转移地址的寻址方式 40

3.3 指令系统 42

3.3.1 数据传送类指令 42

3.3.2 算术运算类指令 49

3.3.3 逻辑运算与移位操作类指令 58

3.3.4 串操作类指令 62

3.3.5 程序控制类指令 67

3.3.6 处理器控制类指令 72

3.3.7 80x86指令系统的扩展 73

习题 76

第4章 8086汇编语言程序设计的基本方法 80

4.1 顺序程序设计 80

4.2 分支程序设计 81

4.3 循环程序设计 85

4.4 子程序设计 93

4.4.1 定义子程序 93

4.4.2 子程序的调用与返回 94

4.4.3 保护现场与恢复现场 95

4.4.4 子程序的参数传递 96

4.4.5 子程序设计举例 97

4.4.6 子程序嵌套 103

4.5 汇编语言程序的数据输入和输出 105

4.5.1 软中断指令 106

4.5.2 调用DOS功能程序实现数据的输入/输出 106

4.5.3 调用BIOS功能程序实现数据的输入/输出 110

4.6 宏的定义与使用 118

4.6.1 宏定义、宏调用与宏展开 118

4.6.2 宏定义中的指令标号 122

4.6.3 宏库的建立与使用 125

习题 125

第5章 中断技术基础 128

5.1 什么是中断技术 128

5.2 80x86中断系统简介 128

5.2.1 中断源类型 128

5.2.2 中断号与中断向量表 129

5.2.3 中断服务程序及其调用与返回 132

5.2.4 中断优先级与中断嵌套 132

5.3 如何设置自己的中断服务 133

习题 145

附录A 宏汇编语言程序的上机过程 146

A.1 DOS简介 146

A.2 宏汇编语言程序上机所需的软件支持 151

A.3 编辑源程序 151

A.4 对源程序进行汇编 152

A.5 对目标文件进行连接 154

附录B 调试软件DEBUG.EXE的使用 156

B.1 DEBUG的启动及其工作环境 156

B.2 DEBUG的调试命令 157

参考文献 169


展开全部

21世纪高等学校规划教材·计算机科学与技术汇编语言程序设计教程 节选

8086指令系统   指令语句是构成代码段的主体,是用来实现程序的操作功能的。本章主要介绍8086的指令系统,此外简要介绍实模式下80x86的指令系统扩展。 3.1 指令系统基本概念   指令是给计算机下达的一个简单操作任务,CPU所能执行的所有指令构成了一个计算机的指令系统(也称指令集)。汇编语言指令是对机器指令的符号化表示,采用助记符来表示指令的操作功能和操作对象,大大方便了指令的掌握和使用。   指令系统中的指令,根据其操作功能的不同,通常可以分为以下几类:   (1)数据传送类指令。这类指令用于在寄存器之间、寄存器与存储单元之间或CPU与I/O端口之间传送数据。传送数据的主要目的,一是为数据处理做准备,二是存储数据处理的结果。这类指令是程序设计中使用*多的一类指令。   (2)算术运算类指令。这类指令用于完成数据的加、减、乘、除运算,是主要的数据处理指令。   (3)逻辑运算类指令。这类指令用于完成与、或、非、异或等逻辑运算,通常还包含一些特殊的数据移位操作指令,也是重要的数据处理指令。   (4)串操作类指令。这类指令用于字符串或成组数据操作,用以提高编程效率。   (5)程序控制类指令。这类指令用于控制程序的执行流程(如分支、循环、过程调用与返回、中断调用与返回等),以便正确体现程序的处理逻辑。   (6)处理器控制类指令。这类指令可用来控制处理器的某些工作方式或状态。   8086系统的一条指令语句的一般格式如下:    [标号:] 操作助记符 [操作数项 [,操作数项]] [;注释]    可见,一条指令语句中,除描述指令操作功能的操作助记符必不可少之外,其他成分都是可选项。通常,只有作为程序转移目标的指令才需要设置一个指令标号,用来作为转移目标指令的符号地址。   操作数项的多少视指令的操作要求而定,可以是一个、两个或没有。需要指出的是,有些指令虽然没有描述操作数项,但其并非没有操作数,只是由指令内部规定了操作数而已。同理,有些指令中只描述了一个操作数项,而另一个操作数则由指令内部规定。下面通过几条典型指令来了解一下指令格式的基本特点。   1.MOV指令   指令格式:MOV DST,SRC   MOV指令是*常用的数据传送指令,其操作助记符为MOV,涉及两个操作数项:DST和SRC。指令功能是:将操作数项SRC的值传送给操作数项DST,可用符号描述为DST←(SRC)。由于DST是*终接收传送结果的,是数据传送的目的地,因此也称为目的操作数,而SRC是数据的来源,故被称为源操作数。   2.ADD指令   指令格式:ADD DST,SRC   ADD指令是加法运算指令,其操作助记符是ADD,DST提供被加数,SRC提供加数,指令功能可描述为:DST←(DST)+(SRC),即DST的值与SRC的值相加,其和存到DST。同样,由于DST接收*终的操作结果,被称为目的操作数,而SRC只提供运算数据,故为源操作数。   一般地,对于有两个操作数项的指令,*终接收操作结果的操作数项为目的操作数,且总是写在前面(左边),而另一个则为源操作数,写在后面(右边)。   3.NOT指令   指令格式:NOT OPR   NOT指令是逻辑非运算指令,其操作助记符为NOT。由于非运算是单目运算,故指令中只有一个操作数项OPR;指令功能可描述为OPR←,即将操作数项OPR的值按位取反,并仍保存到OPR。由于只有一个操作数项,故OPR既是源操作数,也是目的操作数。   4.NOP指令   指令格式:NOP   NOP指令是空操作指令,操作助记符为NOP。该指令没有任何操作功能,所以没有操作数项。   操作数项可以用常量表达式直接描述,但更多情况下,操作数项实际上描述的是操作数存放的位置,如某个寄存器、某个存储单元的地址或某个I/O端口地址等。指令在执行时,需要按所描述的地址,到指定位置取出或存放数据。从这个意义上说,指令中只描述一个操作数地址的,称为一地址指令;描述两个操作数地址的,称为二地址指令;而不描述操作数地址的,则称为零地址指令。 3.2 寻址方式 3.2.1 操作数的寻址方式   为了满足不同的数据处理要求,指令中描述操作数地址的方式也多种多样。指令中描述操作数地址的方式,称为操作数的寻址方式,简称寻址方式。只有熟练掌握了各种寻址方式,才能正确、灵活地使用指令。所以,寻址方式是汇编语言程序设计的重要基础。   1.寄存器寻址方式   若操作数由寄存器提供,或操作结果要存入寄存器,则对应的操作数项就要指出所用的寄存器。操作数的这种寻址方式就叫寄存器寻址方式。   【例3.1】 设被加数和加数分别存于寄存器AL和BL中,写出相应的加法指令。   分析:因为被加数和加数均由寄存器提供,所以这两个操作数均采用寄存器寻址方式,需要在指令中直接用寄存器名表示;此外,根据前面介绍的加法指令格式,被加数项还要作为目的操作数。因此,该加法指令应该写成    ADD AL,BL    其操作功能是:AL←(AL)+(BL) 。若指令执行前,(AL)=25H,(BL)=36H,则执行该指令后,AL寄存器的内容为25H+36H=5BH,而BL的内容不变。   【例3.2】 要求将BX寄存器中所存的数据传送给AX寄存器,写出相应的传送指令。   分析:由于BX寄存器提供数据,而AX寄存器接收数据,所以,两个操作数项均采用寄存器寻址方式,且BX为源操作数,AX为目的操作数,故该传送指令为    MOV AX,BX    其操作功能是:AX←(BX)。若指令执行前,(AX)=1205H,(BX)=3600H,则执行该指令后,AX寄存器的内容变为3600H,而BX的内容不变。   由于寄存器的数据存取速度快,因此,采用寄存器寻址方式可以加快指令的执行速度。   2.立即寻址方式   若一个操作数项描述的是操作数本身(用常量或常量表达式表示),而不是操作数的存放位置,则该操作数的寻址方式称为立即寻址方式,而表示该操作数的常量或常量表达式的值称为立即数。   【例3.3】 要求将数据68传送给AL寄存器,写出相应的传送指令。   分析:由于AL寄存器接收数据,所以目的操作数为AL,采用寄存器寻址方式,而源操作数为常数68,所以源操作数为立即寻址方式。该传送指令为    MOV AL,68    其操作功能是:AL←68。   【例3.4】 设被加数存于寄存器DX中,加数为512,写出相应的加法指令。   分析:因为被加数由寄存器DX提供,所以DX为目的操作数,采用寄存器寻址方式,而加数为常数512,所以源操作数为立即寻址方式。该加法指令为    ADD DX,512    其操作功能是:DX←(DX)+512。若指令执行前,(DX)=1235,则执行该指令后,DX寄存器的内容为1235+512=1747。   由于立即寻址方式描述的是一个常量,而不是一个存放数据的位置,所以,立即寻址方式不能用于目的操作数。      3.存储器寻址方式   若操作数存于存储器中,则对应的操作数项就要描述出操作数的存放地址。操作数的这种寻址方式称为存储器寻址方式。   指令中使用的存储器地址都是逻辑地址,其中,段地址由段寄存器提供,用段前缀(DS:,ES:,CS:或SS:)来指明所用的段寄存器,偏移地址(亦称有效地址)部分的表示形式则有多种,由此形成了不同的存储器寻址方式。    1)直接寻址方式   如果在描述操作数的地址时直接表示出操作数的偏移地址,则该操作数的寻址方式就是直接寻址方式。   【例3.5】 要求将存于数据段内偏移地址为0010H处的一个字节数据传送给寄存器 AL,写出相应的传送指令。   分析:显然,目的操作数为AL寄存器,而源操作数存于数据段内偏移地址为0010H的存储单元,所以采用直接寻址方式。该传送指令为    MOV AL,DS:[0010H]    其中,“DS:”为数据段前缀,用于指出段地址由数据段寄存器DS提供;偏移地址0010H必须置于方括号[ ]内。若设(DS)=2014H,则该存储单元的物理地址=20140H+0010H= 20150H,又设(20150H)=52H,则该指令执行后,(AL)=52H。   【例3.6】 若(DS)=2014H,(20150H)=52H,(20151H)=16H,则指令    MOV AX,DS:[0010H]

商品评论(0条)
暂无评论……
书友推荐
本类畅销
编辑推荐
返回顶部
中图网
在线客服