章指令系统和汇编语言程序.ppt
《章指令系统和汇编语言程序.ppt》由会员分享,可在线阅读,更多相关《章指令系统和汇编语言程序.ppt(108页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第第第4 4 4 4章章章章 指令、指令系统指令、指令系统指令、指令系统指令、指令系统和控制器部件和控制器部件和控制器部件和控制器部件第第4 4章章 指令、指令系统和控制器部件指令、指令系统和控制器部件一一、指令系统指令系统综述:综述:指令与指令格式指令与指令格式 ,寻址方式。,寻址方式。基本指令系统:基本指令系统:教学计算机教学计算机的指令系统的指令系统 和和 汇编程序设计。汇编程序设计。扩充性知识:扩充性知识:PDP-11PDP-11机机指令系统,指令系统,NOVANOVA机机指令系统。指令系统。二、二、控制器的功能和组成控制器的功能和组成控制器的功能,控制器的组成,指令的执行步骤。控制
2、器的功能,控制器的组成,指令的执行步骤。控制器的分类:控制器的分类:微程序微程序控制器和控制器和组合逻辑组合逻辑控制器。控制器。三、三、微程序控制器的运行原理微程序控制器的运行原理微指令的格式:微指令的格式:下地址字段下地址字段 和和 控制命令字段。控制命令字段。四、四、教学计算机的微程序控制器教学计算机的微程序控制器指令分类与典型指令的执行过程,指令分类与典型指令的执行过程,微程序分析,设计新指令的微程序及调试运行。微程序分析,设计新指令的微程序及调试运行。五、五、组合逻辑控制器的组成与运行原理组合逻辑控制器的组成与运行原理8 8 位教学实验计算机的组成与设计实例。位教学实验计算机的组成与设
3、计实例。返回返回一、指令系统一、指令系统指令指令:功能功能定义定义用法用法指令格式指令格式:操作码操作码操作数地址操作数地址固定长度固定长度可变长度可变长度交叉安排交叉安排无地址无地址一地址一地址二地址二地址多地址多地址2.2.寻址方式寻址方式外设寻址外设寻址入入/出端口地址方式出端口地址方式统一映象方式统一映象方式主存寻址主存寻址寄存器寻址寄存器寻址直接寻址直接寻址变址寻址变址寻址寄存器间址寄存器间址间接寻址间接寻址相对寻址相对寻址基地址寻址基地址寻址立即数寻址立即数寻址堆栈寻址堆栈寻址1.1.指令与指令格式指令与指令格式返回返回指令:是指令:是计算机运行的最小的功能单位,计算机运行的最小的
4、功能单位,是是计算机用于控制各部件协调动作的命令,计算机用于控制各部件协调动作的命令,计算机最本质的功能就计算机最本质的功能就是是连续的执行指令。连续的执行指令。指令系统:指令系统:一台计算机支持(或使用)的全部指令一台计算机支持(或使用)的全部指令 的集合,称为指令系统。的集合,称为指令系统。指令字:指令字:一种二进制代码,包括一种二进制代码,包括操作码操作码和和操作数地址操作数地址。操作码:操作码:用于指明本条指令的操作功能。用于指明本条指令的操作功能。如:如:算数的加算数的加/减,逻辑的与减,逻辑的与/或,内存与外设的读或,内存与外设的读/写等。写等。操作数地址:操作数地址:用于给出被操
5、作的对象的地址。用于给出被操作的对象的地址。如:如:操作数所在的地址,程序转移地址,子程序调用地址等。操作数所在的地址,程序转移地址,子程序调用地址等。返回返回1 1、指令的基本概念、指令的基本概念对指令系统的要求对指令系统的要求完备性完备性:指令齐全,编程方便指令齐全,编程方便高效性:高效性:占内存少,运行省时占内存少,运行省时规整性:规整性:指令与运算规则统一指令与运算规则统一兼容性:兼容性:新旧机指令软件兼容新旧机指令软件兼容当前的计算机指令系统,从其构成的复杂和完备程度,当前的计算机指令系统,从其构成的复杂和完备程度,或者说设计中追求的不同的目标,区分,可分为或者说设计中追求的不同的目
6、标,区分,可分为 CISC CISC 和和RISC RISC 两类:两类:RISCRISC(Reduced Instruction Set ComputerReduced Instruction Set Computer),通常称为通常称为精简指令系统精简指令系统的计算机,只有数目较少、格式与功能简单、的计算机,只有数目较少、格式与功能简单、运行高效的指令,追求的是计算机控制器实现简单,运行高运行高效的指令,追求的是计算机控制器实现简单,运行高速,更容易在单块超大规模集成电路中芯片内制做出来。速,更容易在单块超大规模集成电路中芯片内制做出来。CISC CISC(Complex Instruct
7、ion Set ComputerComplex Instruction Set Computer),通常称通常称为为复杂指令系统复杂指令系统的计算机,是相对于的计算机,是相对于 RISC RISC 一词而提出来的一词而提出来的一种说法。其特点是:指令条数多,格式多样,寻址方式复一种说法。其特点是:指令条数多,格式多样,寻址方式复杂,每条指令的功能强,优点是汇编程序设计容易些,但计杂,每条指令的功能强,优点是汇编程序设计容易些,但计算机控制器的实现困难多,很多指令被使用的机会并不多。算机控制器的实现困难多,很多指令被使用的机会并不多。返回返回指令格式:指令格式:操作码操作码操作数地址操作数地址返
8、回返回操作码的方案分类:操作码的方案分类:1、定长操作码方案:、定长操作码方案:在指令字的最高位分配固定长度,用于表示操作码。在指令字的最高位分配固定长度,用于表示操作码。2、变长操作码方案:、变长操作码方案:可以为最常用的指令少分配几位操作码。可以为最常用的指令少分配几位操作码。3、交叉方案:、交叉方案:操作码的二进制位不集中在最高位,而是与操作数地址有所交叉。操作码的二进制位不集中在最高位,而是与操作数地址有所交叉。操作数地址的设计操作数地址的设计:1、无操作数指令:、无操作数指令:某些指令没有操作数,或使用某个已约定的操作数。某些指令没有操作数,或使用某个已约定的操作数。如停机指令、空操
9、作指令、关中断指令等。如停机指令、空操作指令、关中断指令等。2、单操作数指令:、单操作数指令:某些指令只用一个操作数必须在指令中指明其地址。某些指令只用一个操作数必须在指令中指明其地址。3、双操作数指令:、双操作数指令:如算数和逻辑运算,往往使用如算数和逻辑运算,往往使用2个操作数,需要分别给出目个操作数,需要分别给出目的操作数和源操作数的地址。的操作数和源操作数的地址。4、多操作数指令:、多操作数指令:如用如用2个操作数地址表示目的和源操作数,用第三个操作数个操作数地址表示目的和源操作数,用第三个操作数地址表示保存运算结果。地址表示保存运算结果。2 2、指令的分类、指令的分类指令的分类指令的
10、分类1、算数和逻辑运算指令:、算数和逻辑运算指令:是每台计算机必须具有的指令。是每台计算机必须具有的指令。2、移位操作指令:、移位操作指令:包括算数移位、逻辑移位和循环移位三种。包括算数移位、逻辑移位和循环移位三种。3、数据传送指令:、数据传送指令:用于通存用于通存通存、通存通存、通存内存、通存内存、通存外外设、内存设、内存内存之间的数据传送。内存之间的数据传送。指令要指明数据传送的方向。指令要指明数据传送的方向。4、转移指令、子程序调用与返回指令:、转移指令、子程序调用与返回指令:转移指令:转移指令:不执行邻接的下不执行邻接的下1条指令,而是转移到另一段程序的入口条指令,而是转移到另一段程序
11、的入口去执行。分为条件转移和无条件转移。条件转移指令还必须给出判断转移条去执行。分为条件转移和无条件转移。条件转移指令还必须给出判断转移条件,通常是件,通常是C(进位)、(进位)、Z(结果为(结果为0)、)、V(溢出)、(溢出)、S(符号位)的取值。(符号位)的取值。子程序调用与返回指令:子程序调用与返回指令:是一种特定的转移指令。即转去执行子程是一种特定的转移指令。即转去执行子程序,在子程序的最后要有返回当前指令的语句。序,在子程序的最后要有返回当前指令的语句。用户自编的子程序用户自编的子程序系统提供的子程序系统提供的子程序子程序子程序访问系统程序(访管)指令。访问系统程序(访管)指令。陷阱
12、指令(陷阱指令(TPAP)。)。断电、检验出错、设备故障、非法指令等意外事故。断电、检验出错、设备故障、非法指令等意外事故。5、特权指令、特权指令:仅用于操作系统或系统软件的指令。为确保安仅用于操作系统或系统软件的指令。为确保安全,这类指令不提供给用户使用。全,这类指令不提供给用户使用。6、其它指令:、其它指令:用于完成某些特定的处理功能。用于完成某些特定的处理功能。如:如:动态停机、空操作、置条件码、开中断、动态停机、空操作、置条件码、开中断、关中断、堆栈操作指令等。关中断、堆栈操作指令等。操作数的来源和去向:操作数的来源和去向:1、来自、来自CPU内部的通用寄存器。内部的通用寄存器。通存一
13、般有通存一般有16个,个,R0R15R0与外设交换数据,与外设交换数据,R4为堆栈,为堆栈,R5用作程序计数器用作程序计数器PC。2、来自外围设备(接口)中的一个寄存器。、来自外围设备(接口)中的一个寄存器。通常用设备编号通常用设备编号入口端地址来表示。入口端地址来表示。3、来自内存的一个存储单元。、来自内存的一个存储单元。在指令字中给出该存储单元的在指令字中给出该存储单元的地址。地址。3 3、寻址方式、寻址方式寻址:寻址:根据指令的内容确定操作数地址的过程。根据指令的内容确定操作数地址的过程。寻址方式:寻址方式:获得操作数或操作数地址的方法。获得操作数或操作数地址的方法。地址:地址:数据和指
14、令在存储器中存放的位置。数据和指令在存储器中存放的位置。形式地址:形式地址:在指令字中给出的操作数的地址被称为形式地址。在指令字中给出的操作数的地址被称为形式地址。物理地址:物理地址:用形式地址结合某些规则计算出操作数在存储器中用形式地址结合某些规则计算出操作数在存储器中 的存储单元地址。的存储单元地址。操作数地址可以是:操作数地址可以是:运算器中的累加器的编号或专用寄存器名称(编号)。运算器中的累加器的编号或专用寄存器名称(编号)。输入输入/输出指令中用到的输出指令中用到的 I/O I/O 设备的入出端口地址。设备的入出端口地址。内存储器的一个存储单元(或一内存储器的一个存储单元(或一 I/
15、OI/O设备设备 )的地址。)的地址。返回返回计算机的计算机的CPU中中一般设置有一定数量的通用寄存器,用于存一般设置有一定数量的通用寄存器,用于存放操作数、操作数地址或中间结果。放操作数、操作数地址或中间结果。寄存器寻址:寄存器寻址:在在指令字的操作数地址码字段给出操作数所在的通用寄存器指令字的操作数地址码字段给出操作数所在的通用寄存器的编号(地址)的编号(地址)。称为。称为寄存器寻址。寄存器寻址。例如:例如:加法指令:加法指令:ADDA,D(助记符号)指令字指令字:10000010寄存器间接寻址:寄存器间接寻址:右图中,如果右图中,如果D寄存器中给出的不是操作数,而是寄存器中给出的不是操作
16、数,而是操作数的地址,这中方式称为寄存器间接寻址。操作数的地址,这中方式称为寄存器间接寻址。1、寄存器寻址、寄存器间接寻址、寄存器寻址、寄存器间接寻址返回返回寄存器寄存器D的地址的地址2、立即数寻址、立即数寻址所需的一个所需的一个操作数操作数在指令的地址码部分直接给出。在指令的地址码部分直接给出。则则 Num Num 即为操作数的值。即为操作数的值。适用于操作数固定的情况,提高了指令的执行速度,适用于操作数固定的情况,提高了指令的执行速度,当该立即数的值限定为较小值(占用位数少)时,可在当该立即数的值限定为较小值(占用位数少)时,可在第一个指令字中直接给出,否则可在第二个指令字中给出。第一个指
17、令字中直接给出,否则可在第二个指令字中给出。返回返回在指令的地址码字段直接给出所需的操作数(或指令)在指令的地址码字段直接给出所需的操作数(或指令)在存储器中的在存储器中的地址地址。则则 Addr Addr 为操作数为操作数在存储器中的在存储器中的地址。地址。或转移指令等用到的指令地址或转移指令等用到的指令地址。3、直接寻址、直接寻址例:例:Addr=5718H Addr=5718H,这里的这里的H H 表示表示 5718 5718 是是 16 16 进制的值进制的值 5718H=35718H=3,内存储器内存储器 5718 5718 单元中的内容为单元中的内容为 3 3,则操作数就是这里的则
18、操作数就是这里的 3 3,或下一条指令的地址为,或下一条指令的地址为 3 3。常用于读写内存的指令或转移等指令中常用于读写内存的指令或转移等指令中。内内存存储储器器操作数操作数返回返回操作数的地址由指定的变址寄存器(由操作数的地址由指定的变址寄存器(由Reg指定)的指定)的内容和指令中的地址码(内容和指令中的地址码(Disp)相加得到。相加得到。4、变址寻址、变址寻址通用寄存器通用寄存器加法器加法器存存储储器器操作数操作数例:例:Disp=H18Disp=H18,Reg=5Reg=5,(R5)=H5700(R5)=H5700 则操作数地址则操作数地址 =H5718=H5718便于对数组元素进行
19、处理,便于对数组元素进行处理,是计算机中常用的一种寻址方式。是计算机中常用的一种寻址方式。返回返回操作数(或指令)的地址由程序计数器操作数(或指令)的地址由程序计数器 PC PC 的内容的内容(即当前执行指令的地址)和指令的地址码相加得到。(即当前执行指令的地址)和指令的地址码相加得到。5、相对寻址、相对寻址例:例:Disp=H48Disp=H48(PC)=H5600(PC)=H5600 则实际地址则实际地址 =H5648=H56481主要用于转移指令,对浮动程序很有用。主要用于转移指令,对浮动程序很有用。2位移量可正可负,通常用补码表示。位移量可正可负,通常用补码表示。返回返回 指令的地址码
20、字段给出的内容既不是操作数,也不指令的地址码字段给出的内容既不是操作数,也不是操作数的地址,而是操作数(或指令)地址的地址,是操作数的地址,而是操作数(或指令)地址的地址,这被称为间接寻址方式,多一次读内存储器的操作。这被称为间接寻址方式,多一次读内存储器的操作。6、间接寻址、间接寻址存存储储器器操作数Addr1指令中的指令中的Addr可以用其他寻址方式可以用其他寻址方式给出,例如变址寻址,这就成为变址给出,例如变址寻址,这就成为变址寻址与间接寻址的复合寻址方式。寻址与间接寻址的复合寻址方式。返回返回在计算机中设置一个专用的基址寄存器,操作数(或在计算机中设置一个专用的基址寄存器,操作数(或指
21、令)的地址通过基址寄存器的内容和指令中的地址码相指令)的地址通过基址寄存器的内容和指令中的地址码相加得到加得到。7、基址寻址、基址寻址基址寄存器基址寄存器加法器加法器存存储储器器操作数例:例:Disp=H18Disp=H18,BS=H5700BS=H5700 则操作数地址则操作数地址=H5718=H5718主要用于为程序或数据分配存储区,对多主要用于为程序或数据分配存储区,对多道程序或浮动程序很有用,解决了程序在道程序或浮动程序很有用,解决了程序在存储器中的定位和扩大寻址空间等问题。存储器中的定位和扩大寻址空间等问题。返回返回 堆栈是内存储器中一块按堆栈是内存储器中一块按“后进先出后进先出 ”
22、原则进原则进行读写的存储区,并通过一个行读写的存储区,并通过一个专用的寄存器专用的寄存器(称为堆栈(称为堆栈指针指针SPSP)给出堆栈的栈顶地址完成数据的读写操作,给出堆栈的栈顶地址完成数据的读写操作,故故不必在指令中用操作数地址字段给堆栈地址不必在指令中用操作数地址字段给堆栈地址。通常在读。通常在读写操作的前后伴随有计算机自动(不是用户通过指令)写操作的前后伴随有计算机自动(不是用户通过指令)修改修改 SP SP 内容的动作,以确保按正确的内容的动作,以确保按正确的“后进先出后进先出”原原则读写堆栈区。则读写堆栈区。例如:(例如:(SPSP)-1-1 SP SP和和 ARAR,即,即SPSP
23、的内容减的内容减 1 1 存回存回 SPSP,并送内存地址寄存器,接下来才可以把数据并送内存地址寄存器,接下来才可以把数据写到写到堆栈中。完成一次读堆栈操作后,要接着执行堆栈中。完成一次读堆栈操作后,要接着执行(SPSP)+1+1 SP SP 的一次自动修改的一次自动修改 SP SP 内容的操作。内容的操作。8、堆栈寻址、堆栈寻址需要注意的是,指令长度可能是一个字,也需要注意的是,指令长度可能是一个字,也可能是两个字或多个字,要看操作数地址字段的可能是两个字或多个字,要看操作数地址字段的位数要求,由具体的情况决定。位数要求,由具体的情况决定。返回返回4 4、1616位教学机的指令格式位教学机的
24、指令格式16位机指令支持单字和双字指令,第一个指令字的高位机指令支持单字和双字指令,第一个指令字的高8位是位是指令操作码字段,低指令操作码字段,低8位和第二个指令字是操作数地址字段。位和第二个指令字是操作数地址字段。教学机高教学机高8位指令操作码(位指令操作码(IRH7IRH0)的含义:)的含义:教学机指令中,基本指令教学机指令中,基本指令29条,扩展指令条,扩展指令19条。条。CZVS标志位:标志位:*号表示状态位在该指令执行后会被重置,号表示状态位在该指令执行后会被重置,表示不被重置。表示不被重置。1616位机基本指令说明位机基本指令说明:(一)(一)16位机基本指令说明:位机基本指令说明
25、:(二)(二)5 5、汇编语言简介、汇编语言简介(1)、语句的种、语句的种类:类:指令语句指令语句伪指令语句伪指令语句有与其对应的机器指令。有与其对应的机器指令。没有与其对应的机器指令,只说明如没有与其对应的机器指令,只说明如何汇编源程序,包括符号的定义,变何汇编源程序,包括符号的定义,变量和段的定义等。量和段的定义等。(2)、指令语句的格式:、指令语句的格式:(由(由4个部分组成)个部分组成)标号:标号:指令助记符指令助记符操作数操作数,操作数,操作数;注释;注释常数操作数(数值表达式),常数操作数(数值表达式),寄存器操作数(寄存器名),寄存器操作数(寄存器名),存储器操作数(地址表达式)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 指令系统 汇编语言 程序
限制150内