- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机组成原理 主编:杨光煜 第6章 指 令 系 统 指令是使计算机完成某种操作的指示或命令,又称为机器指令。计算机完成的各种功能,就是执行各种指令的体现。所谓指令系统(Instruction Set)是指一台计算机上全部指令的集合,也称指令集。它反映了该计算机的全部功能,机器类型不同,其指令系统也不同,因而功能也不同。在计算机系统的设计过程中,指令系统的设计占有十分重要的地位,合理的指令系统能够提升计算机系统的性能。指令系统的设置和机器的硬件结构密切相关,一台机器要有较好的性能,必须设计功能齐全、通用性强、指令丰富的指令系统,这就需要复杂的硬件结构来支持。本章介绍指令的格式、指令的寻址方式、指令的种类以及指令的执行方式等内容。 6.1 指令的分类 6.2 指令格式 6.3 寻址方式 6.4 指令的执行 6.5 小结 6.1指令的分类 6.1.1 数据传送类指令 数据传送类指令主要包括数据传送、数据交换、压栈和退栈三种指令。这类指令主要用来实现主存和寄存器之间,或寄存器和寄存器之间的数据传送。 1.数据传送指令 这是一种常用指令,用以实现寄存器与寄存器、寄存器与存储单元、存储单元与存储单元之间的数据传送。进行数据传送时,数据从源地址传送到目的地址,源地址中的数据保持不变,这实际上是一种数据复制。 应该注意,有些计算机的数据传送指令不能实现存储单元与存储单元之间的数据传送,如 Intel8086/8088的传送指令MOV。 2.数据交换指令 这种指令的功能是实现两个操作数之间的位置互换,包括寄存器与寄存器、寄存器与存储单元、存储单元与存储单元之间的数据互换。 同样应该注意的是,有些计算机的数据交换指令不能实现存储单元与存储单元之间的数据互换,如 Intel8086/8088的XCHG指令就没有这种功能。 6.1指令的分类 3.压栈和退栈指令 压栈和退栈指令都是针对堆栈进行操作的指令。堆栈(Stack)是主存中专门用来存放数据的一个特定的区域,是由若干连续的存储单元组成的按照先进后出(FILO)原则存取数据的存储区。压栈指令的功能是把数据存入堆栈区,而退栈指令的功能是把数据从堆栈中弹出。 堆栈有两种存放数据的方向,一种是由低地址向高地址存放,另一种是由高地址向址低地址存放,通常采用后者,如图6-1所示。 6.1指令的分类 对图6-1说明如下: (1) 栈底以下是非栈区,不能放入数据,栈底以上是栈区,可存放数据。 (2) 为了指示栈顶的位置,用一个寄存器或存储器单元来指出栈顶的地址,这个寄存器或存储器单元称 为堆栈指针(Stack Pointer SP)。栈顶以上的数据为无效数据。SP的内容就是栈顶地址。用于访问堆 栈的指令只有压栈和退栈两条指令,压栈指令(在Intel8086/8088中是PUSH)用来把指定的操作数送 人堆栈的栈顶,而退栈指令(Intel8086/8088中是POP)则用来把栈顶的数据取出。图6-2表示了压栈 和退栈的过程。 6.1指令的分类 6.1.2 算术逻辑运算类指令 这类指令包括算术运算指令、逻辑运算指令和移位指令。 1.算术运算指令 算术运算指令包括二进制定点加、减、乘、除指令,浮点加、减、乘、除指令,求反、求补指令,算术比较指令,十进制加、减运算指令等。不同档次的计算机具有不同数量的算术运算指令,一般微、小型机的硬件结构比较简单,支持的算术运算指令比较少,只设有二进制数的加、减、比较和求补等最基本的指令。高档的机器,除了这些最基本的算术运算指令外,还具有乘、除运算指令,浮点运算指令,以及十进制运算指令等。浮点运算指令主要用于需要大量数值运算的科学计算中,而十进制运算指令主要用于需要大量输入输出的商业数据处理中。大型机和巨型机则还设有向量运算指令,可以直接对整个向量或矩阵进行求和、求积等运算。 6.1指令的分类 2.逻辑运算指令 一般计算机都具有与、或、非、异或和测试等逻辑运算指令。有些计算机还具有位测试、位清除、位求反等位操作指令。这些指令主要用于无符号数的位操作、代码的转换、判断及运算。 3.移位指令 移位指令用来对寄存器的内容实现左移、右移或循环移位的功能,可分为算术移位、逻辑移位和循环移位三种指令,一般计算机都具有这三种指令。图6-3显示了这三种移位指令的操作过程。 6.1指令的分类 6.1指令的分类 6.1.3字符串处理指令 字
您可能关注的文档
- 微电网并网系统的控制器的设计及分析.doc
- 第4章 电力电子器件的驱动及保护.ppt
- 第2讲反应方程式06-1.ppt
- 第1章:给排水暗设图片.doc
- CELLUTEL6用户手册说明书.pdf
- E+H RTD 热电阻 Endress+Hauser RTD 热电阻2.pdf
- 1-4演示文稿.ppt
- 北京市房山区2015年度中考一模物理试题.pdf
- 2010年高分子化学习题讲解.doc
- 脊柱内固定系统部件 第1部分的知识.pdf
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
文档评论(0)