w2第二章指令系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1计算机中的信息、控制信息:指令控制信号数据信息:数值数据、、定点数浮点数、、原码补码移码.....:非数值数据、、ASCII码汉字的编码、、图形图象声音.....的编码指令系统:是中央处理器所有指令的集合。2操作码(OperationCode)说明该指令所需要完成的操作,如传送、运算、移位、跳转等操作,它是指令中不可缺少的组成部分。其长度取决于指令系统中的指令条数。地址码(Address)用于描述该指令的操作对象。直接给出操作数或指出操作数的存储地址/寄存器地址。操作码OP地址码AD指令格式第一部分指令格式一条指令就是机器语言的一条语句OPA1A2A3指令格式:指令功能:(A1)OP(A2)A3,(PC)+nPC从地址结构对指令进行分类:(1)三地址指令OPA1A2指令格式:指令功能:(A1)OP(A2)A1,(PC)+nPC(2)二地址指令OP指令格式:指令功能:1)单操作数时:操作数隐含在累加器AC中或2)操作数隐含约定在堆栈的顶部。(4)零地址指令OPA1指令格式:指令功能:1)单操作数时:OP(A1)A12)双操作数时:(AC)OP(A1)AC(3)一地址指令注:AC为累加器,是隐含给出的指令格式程序特点三地址结构ADDX,Y,Z只需一条指令,但指令长度较长二地址结构MOVZ,YADDZ,X需两条指令,但指令长度变短一地址结构LOADXADDYSTORYZ需三条指令,指令长度最短例:X、Y、Z是存放三个操作数的存储单元地址。分别用三地址、二地址、一地址结构的指令实现(X)+(Y)Z的程序段,并分析比较,见下图:6从操作码格式对指令进行分类(1)定长操作码指令操作码的位数和位置是固定不变的定长操作码常用于大、中型计算机中例IBM-370中型计算机优点:简化了计算机硬件设计提高了指令译码和识别速度7(2)扩展操作码指令(变长操作码指令)不同的指令操作码的位数可以变化。采用扩展操作码可以有效地压缩指令的平均长度,适用于小型、微型计算机。使用频度高的指令,采用较短的操作码,使用频度低的指令,采用较长的操作码,使得指令系统的操作码平均长度得到压缩。815条、三地址指令操作码地址码0000111011110000XYZXYZYZ15条、二地址指令11111110YZ111111110000Z15条、一地址指令111111111110Z例:某指令系统的指令字长16位,有三种指令格式:三地址、二地址、一地址,每个地址码4位,采用扩展操作码表示的指令格式如下:IBM-370的指令格式IBM-370是大型计算机,采用的是定长操作码,指令的高8位作为操作码。根据操作数的不同来源,指令分为5类:RR型(寄存器-寄存器)、RX型(寄存器-变址存储器),RS型(寄存器-存储器)、SI型(存储器-立即数),SS型(存储器-存储器器)。(见下图)1000OPRiRjRR格式2644共16位01OPRiRXRX格式2644共32位Rb4D12存储器地址10OPRiRJRS格式2644共32位Rb4D12存储器地址10OPIRS格式268共32位Rb4D12存储器地址11OPLSS格式268共48位Rb14D12存储器地址11Rb24D12存储器地址22IBM-370指令格式11PC机的指令系统为二地址指令系统:MOV目(DST),源(SRC)MOVAX,BX1)单操作数指令:INCCX;(CX)+1CX2)双操作数指令:SUBAX,BX;(AX)-(BX)AX3)隐含操作数指令:CLC;0CF特例:是NOP指令,不操作指令,只执行空操作,不改变任何内容,也称为无操作数指令12PDP-11的指令格式PDP-11是小型计算机,采用的是扩展操作码,指令操作码基本长度4位,扩展后,形成7位操作码、10位操作码、及8位操作码、12位操作码,共有5种类型,见下图。OP寻址方式寄存器号寻址方式寄存器号源目的43333寄存器号寻址方式寄存器号源/目的333OP7寻址方式寄存器号目的33OP10位移量8OP8条件码4OP12(1)(2)(3)(4)(5)13可以存放操作数的存储形式:CPU中的寄存器、主存储器、堆栈、外存储器。指令中如何提供操作数或操作数地址的方式称“寻址方式”。“形式地址”A:指令中地址码字段给出的内容;“有效地址”E:实际存放操作数的单元地址。“寻址单位”:用一个有效地址访问存储器所取出的操作数的长度。按寻址单位分:字节寻址;字寻址;位寻址;页寻址。第二部分指令的寻址方式14寻址方式:规定如何对操作对象字段作出解释,找到所需的操作数的方式,或者程序转移时找到转移地址的方式。指令寻址:顺序、跳跃数据寻址形式地址物理地址寻址方式15立即寻址立即寻址方式*——操作数在指令中给出MOVCL,5MOVAX,3064H*只能用于SRC字段*SRC和DST的字长一致MOVAH,3064HOP立即数指令立即数1形式2形式形式地址A就是操作数Data本身,称立即数。(寻址过程可表示为:Data=A)16寄存器寻址8位寄存器:AH、AL、BH、BL、CH、CL、DH、DL16位寄存器:AX、BX、CX、DX、SI、DI、BP、SP4个段寄存器:CS、DS、SS、ESSRC和DST的字长一致MOVAH,BX寄存器号指令操作数寄存器MOVAL,AH;(AH)(AL)SUBAX,BX;(AX)-(BX)(AX)XORAX,AX;(AX)∨(AX)(AX)INCCX;(CX)+1(CX)17逻辑地址形式段基地址:段内偏移地址分隔符偏移地址可由下面三个地址分量中的某一个或某几个的组合求得,并由此命名为不同的寻址方式。偏移量基址变址18有效地址EA由指令直接给出有效地址EA=偏移地址物理地址PA=16d(DS)+EA503032000AHAL3050(AX)=3050H直接寻址例:MOVAX,[2000H]EA=2000H,假设(DS)=3000H,那么(PA)=32000H19*隐含的段为数据段DS*可使用段跨越前缀MOVAX,ES:[2000H]*符号地址来代替数值地址例:操作数地址可由变量(符号地址)表示MOVAH,VALUE(VALUEDB10)也可写成MOVAH,[VALUE]20间接寻址DataOPA存储器指令E指令中给出的地址A不是操作数的地址,而是存放操作数地址的主存单元地址寻址过程可表示为:Data=((A))21*面向用户的,适于数组、字符串、表格的处理变址寻址EA=形式地址+(SI)(DI)*必须是一个形式地址A(固定的)和一个变址寄存器(可变的)的组合DataOP存储器指令XRXARXE22基址寻址设PC为程序计数器,形式地址为A。相对寻址过程可表示为:E=(PC)+A,Data=(E)=((PC)+A)相对寻址设RB为基址寄存器(基准),形式地址为A(可变的)。变址寻址过程可表示为:E=(RB)+A,Data=(E)=((RB)+A)23例如:PC机操作数的寻址方式寄存器寻址(RegisterAddressing)立即寻址(ImmediateAddressing)直接寻址(DirectAddressing)寄存器间接寻址(RegisterIndirectAddressing)寄存器相对寻址(RegisterRelativeAddressing)基址变址寻址(BasedIndexedAddressing)相对基址变址寻址(RelativeBasedIndexedAddressing)指令的分类方法·按指令的格式分类:双操作数指令、单操作数指令·按操作数寻址方式分类·按指令的功能分类(适合用户使用的一种分类方法)第三部分指令的功能和类型数据传输类指令(1)规定传送范围:有以下3类①寄存器→寄存器②寄存器→存储器/存储器→寄存器③存储器→存储器④I/O接口寄存器→CPU寄存器(2)指明传送单位:通常有以下几类字节(Byte)、字(Word)、长字(LongWord)例:VAX-11计算机中:指令MOVB;字节传送指令MOVW;字传送指令MOVL;长字传送80386计算机中:MOVAL,BL;字节传送MOVAX,BX;字传送MOVEAX,EBX;长字传送(3)设置寻址方式输入/输出类指令(I/O指令)(1)外围设备的编址方式:1)外围设备单独编址法又分两种:①编址到设备,即每一个设备一个地址(设备号)②编址到寄存器级2)与主存统一编址法,编址到寄存器级将外围设备接口中的有关寄存器作为一个主存单元,分配一个地址。(2)I/O指令设置方式1)设置专用的I/O指令对于单独编址法,计算机的指令系统中必须设置专用的I/O指令。例8086计算机中的I/O指令:输入指令格式:IN寄存器号,输入端口号例:INAL,127;127是一个8位的输入端口号。输出指令格式:OUT输出端口号,寄存器号例:OUT80H,AL;80H是一个8位的输出端口号。2)用访问主存的指令实现I/O操作例PDP-11、VAX-11等计算机采用这种方式。算术逻辑运算类指令(1)算术运算指令主要有:ADD(加)、SUB(减)、INC(加1)、DEC(减1)、NEG(求补)及MUL(乘)、DIV(除)(2)逻辑运算指令主要有:AND(与)、OR(或)、XOR(异或)、NOT(非)等(3)移位操作指令算术左移:SAL(相当于乘以2)算术右移:SAR(相当于除以2)循环左移:ROL循环右移:ROR程序控制类指令(1)无条件转移指令指令格式:JMPn;n是转移地址(2)条件转移指令例8086计算机中的条件转移指令主要有:JZ(为零转)、JNZ(不为零转)JC(有进位转)、JNC(没有进位转)JS(为负转)、JNS(不为负转)JO(有溢出转)、JNO(没有溢出转)(3)子程序调用指令指令格式:CALLn;n是子程序入口地址(4)子程序返回指令RET

1 / 30
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功