1 / 27
文档名称:

指令系统和汇编程序设计.ppt

格式:ppt   页数:27
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

指令系统和汇编程序设计.ppt

上传人:一文千金 2012/3/11 文件大小:0 KB

下载得到文件列表

指令系统和汇编程序设计.ppt

文档介绍

文档介绍:指令、指令系统和汇编程序设计
计算机系统由硬件和软件两部分组成。硬件指由中央处理机、存储器以及外围设备等组成的实际装置。软件是为了使用计算机而编写的各种系统和用户程序,由一系列机器指令组成。
指令是用户使用计算机和计算机运行的最小的功能单位,一台计算机支持(或称使用)的全部指令构成该计算机的指令系统,它对计算机本身硬件结构的复杂程度和运行性能,对用户完成程序设计的难易程度和工作效率,有非常重要的影响,必须对设计指令系统的工作给以足够的重视,慎重确定。
汇编语言程序设计
机器语言是计算机硬件能够直接识别和运行的指令的集合,是二进制码组成的指令,直接用机器指令设计程序是非常困难的事情,是程序设计人员难以承担的工作。
汇编语言大体上是对计算机机器语言的符号化处理的结果,再增加一些为方便程序设计而实现的扩展功能。
汇编语言至少有 2 大优点。第一、可以用英文单词或其缩写形式替代二进制的指令代码,更容易记忆和理解;第二还可以选用英文单词来表示程序中的数据(常量、变量和语句标号),把为这些数据分配存储单元的任务留给汇编程序去处理,这样的语言就达到了实用的最基本的标准。
若在此基础上,在支持程序的不同结构特性(如循环和重复执行等结构,子程序所用哑变元替换为真实参数)等方面提供必要的支持,用此语言设计程序就更为方便。
汇编语言程序经汇编后翻译为机器语言程序方可运行。
高级语言又称算法语言,它的实现思路,不再是过分地“靠拢”计算机硬件的指令系统,而是着重面向解决实际问题所用的算法,更多的是是为方便程序设计人员写出自己解决问题的处理方案和解题过程的程序。目前常用的高级语言有BASIC、C、C++、,PASCAL、JAVA、PROLOG、VHDL等几百种。用这些语言设计出来的程序,通常需要经过一个叫做编译程序的软件先编译成机器语言程序,或者首先编译成汇编程序后,再经过汇编操作后得到机器语言程序,才能在计算机的硬件系统上予以执行;也可以由一个叫做解释执行程序的软件,逐条取来相应高级语言程序的每个语句并直接控制其完成执行过程,而不是把整个程序编译为机器语言程序之后再一起交给硬件系统加以执行。
对指令系统的要求
完备性: 指令齐全,编程方便
高效性:占内存少,运行省时
规整性:指令与运算规则统一
兼容性:新旧机指令软件兼容
当前计算机指令系统,从构成的复杂和完备程度,或者说设计中追求的不同目标区分,可分为 CISC 和RISC 两类:
RISC(Reduced Instruction puter),通常称为精简指令系统的计算机,提供数目较少、格式与功能简单、运行高效的指令,追求的是计算机控制器实现简单,运行高速,更容易在单块超大规模集成电路的芯片内制做出来。
CISC (Complex Instruction puter),通常称为复杂指令系统的计算机,是相对于 RISC 一词而提出来的一种说法。其特点是:指令条数多,格式多样,寻址方式复杂,每条指令的功能强,优点是汇编程序设计容易些,但计算机控制器的实现困难多,很多指令被使用的机会较少。
汇编语言层
操作系统层
指令系统层
微体系结构层
数字逻辑层
高级语言层
应用层
计算机系统的层次结构
从图中可以看到的计算机系统的 7 层结构。
采用这种分层次的方法来分析和解决某些问题,有利于简化处理问题的难度,在某一段时间,在处理某一层中的问题时,只需集中精力解决当前最需要关心的核心问题即可,而不必牵扯各上下层中的其他问题。
指令系统层处在硬件和软件之间,硬件系统实现每一条指令的功能,解决指令之间的连接关系;软件是由按一定规则组织起来的许多条指令组成,完成一定的数据运算或者事务处理功能。
汇编语言层
操作系统层
指令系统层
微体系结构层
数字逻辑层
高级语言层
应用层
计算机系统的层次结构
指令系统是指一台计算机使用的全部指令。从计算机硬件本身看,指令是控制计算机运行的最小的功能单位,从使用计算机的角度看,指令是用于编写软件程序的。指令系统的设计质量是十分重要的,直接关系到用户和厂家双方的切身利益。
从使用计算机硬件的五大功能部件来说,需要设置一些指令,例如,执行算术、逻辑运算(ADD,SUB,AND,OR)、完成数据传送、移位的指令(MOVE,SHR,RCL);
执行输入、输出操作的指令(IN,OUT),
执行读写内存储器的指令(STORE,LOAD),执行读写堆栈的指令(PUSH,POP) ;
就设计软件程序的需求来说,也需要设置一些指令,例如,改变指令执行次序的指令(JUMP,JRC),执行子程序调用与返回的指令(CALL,RET);
从用到的数据的角度看,在这些指令中可能用到运算器的累加器中、内存单元中、I/O 接口中的数据,得有办