收藏 分销(赏)

指令系统复习专业知识讲座.ppt

上传人:精*** 文档编号:12819126 上传时间:2025-12-11 格式:PPT 页数:56 大小:931.50KB 下载积分:14 金币
下载 相关 举报
指令系统复习专业知识讲座.ppt_第1页
第1页 / 共56页
指令系统复习专业知识讲座.ppt_第2页
第2页 / 共56页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,文档来源于网络,文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不当之处,请联系本人或网站删除。,(2),地址码,指令中的地址码用来指出该指令的,源操作数地址,(,一个或两个,),、,结果地址,及,下一条指令的地址,。,这里的地址可以是,主存地址,,也可以是,寄存器地址,,甚至可以是,I/O,设备的地址,。,四地址,OP,A,1,A,2,A,3,A,4,8 6 6 6 6,A,1,第一操作数地址,A,2,第二操作数地址,A,3,结果的地址,A,4,下一条指令地址,(A,1,)OP(A,2,)A,3,4,次访存,?,(指地址字段均为 主存地址的情况:取指令一次,取操作数两次,存结果一次),直接寻址范围,2,6,=64,设指令字长为,32,位,操作码固定为,8,位,若用,PC,代替,A,4,3,地址指令,注:此种格式现已不用,三地址,8 8 8 8,OP,A,1,A,2,A,3,(A,1,)OP(A,2,)A,3,4,次访存,?,同上,直接寻址范围,2,8,=256,二地址,OP,A,1,A,2,8 12 12,(A,1,)OP(A,2,)A,1,(A,1,)OP(A,2,)A,2,或,4,次访存,?,同上,一地址,零地址,OP,A,1,8 24,无地址码,(ACC)OP(A,1,)ACC,2,次访存,?(取指一次,,取操作数一次),直接寻址范围,2,12,=4 K,直接寻址范围,2,24,=16 M,NOP,、,HLT,指令:,无地址码,RET,、,IRET,指令:,操,作数地址是隐含(隐,含在堆栈指针中)。,注:现常用此几种格式,尤其是二地址、一地址指令。,2.,扩展操作码技术,OP,A,1,A,2,A,3,0000,0001,1110,A,1,A,1,A,1,A,2,A,2,A,2,A,3,A,3,A,3,A,2,A,2,A,2,A,3,A,3,A,3,1111,1111,1111,0000,0001,1110,1111,1111,1111,1111,1111,1111,1111,1111,1111,0000,0001,1111,1111,1111,1111,1111,1111,1111,A,3,A,3,A,3,0000,0001,1110,4,位操作码,8,位操作码,12,位操作码,16,位操作码,最多,15,条三地址指令,最多,15,条二地址指令,最多,15,条一地址指令,16,条零地址指令,初始,OP,、,A,1,、,A,2,、,A,3,各占,4,位,操作码的位数随地址数的减少而增加,注:扩展操作码指令格式,扩展方法不惟一,如:,三地址指令操作码,每减少一种可最多构,成,2,4,种二地址指令,二地址指令操作码,每减少一种可最多构成,2,4,种一地址指令,2,4,的,4,指的是要扩展成操作码的地址码字段的长度,3.,指令字长,指令字的长度取决于操作码的长度、操作数地址的长度和操作数地址的个数。,为了充分利用存储空间,,指令字的长度也定为字节长度的整数倍,。,早期计算机,指令字长,=,机器字长,=,存储字长,(2),指令字长,可变:,(1),指令字长,固定:,现代计算机,指令字长可变,按字节的倍数变化,指令字长度等于机器字长度的指令,称为单字长指令;,指令字长等于两个机器字长的指令,称为双字长指令;,指令字长度只有半个机器字长度的指令,称为半字长指令。,注:了解即可,例,1,:假设指令字长为,16,位,操作数的地址码为,6,位,指令有零地址、一地址、二地址三种格式。,(1),设操作码固定,若零地址指令有,M,种,一地址指令有,N,种,则二地址指令最多有几种,?,(2),采用扩展操作码技术,二地址指令最多有几种?,解:,(1),根据操作数地址码为,6,位,则二地址指令中操作码的位数为:,16-2*6,4,。,4,位操作码可有,16,种操作。,由于操作码固定,则除去了零地址指令,M,种,一地址指令,N,种,剩下二地址指令最多有:,16-M-N,种。,0000,0001,1110,A,1,A,1,A,1,A,2,A,2,A,2,A,3,A,3,A,3,A,2,A,2,A,2,A,3,A,3,A,3,1111,1111,1111,000000,000001,111110,(2),采用扩展操作码技术,操作码位数可随地址数的减少而增加。,对于二地址指令,,4,位操作码,共,16,种编码,去掉一种编码,(,如,1111),用于一地址指令扩展,最多二地址指令可有,15,种操作。,(4),采用扩展操作码技术,若二地址指令有,P,条,零地址指令有,Q,条,则一地址指令最多有几种,?,0000,0001,1110,A,1,A,1,A,1,A,2,A,2,A,2,A,3,A,3,A,3,A,2,A,2,A,2,A,3,A,3,A,3,1111,1111,1111,000000,000001,111110,6,位,6,位,解:,1),二地址指令共,2,4,条,每减少一种,可扩展一地址指令,2,6,条,故可扩展一地址指令,:,(2,4,P),2,6,条;,2),一地址指令共,(2,4,P),2,6,条,每减少一条可扩展,2,6,条零地址指令,,设一地址指令共,X,种,,则,零地址指令:,Q=(,(2,4,P),2,6,X)2,6,X=,(2,4,P),2,6,Q2,-6,解:二地址指令可扩展一地址指令,:,(2,4,P),2,6,一地址指令可扩展零地址指令,:,(2,4,P),2,6,Q,)2,6,(3),采用扩展操作码技术,若二地址指令有,P,条,一地址指令有,Q,条,则零地址指令最多有几种,?,(二)指令的寻址方式,存储器既可以存放数据又可以存放指令。因此当某个操作数或某条指令存放在某个存储单元时,其,存储单元的编号,,就是该操作数或指令在,存储器中的地址,。,寻址方式,确定,本条指令,的,操作数地址,(数据寻址),下一条,欲执行,指令,的,指令地址,(指令寻址),寻址方式,分,指令寻址,和,数据寻址。,1.,指令寻址,顺序,(PC)+1 PC,跳跃,由转移指令实现,LDA 1000,ADD 1001,DEC 1200,JMP 7,LDA 2000,SUB 2001,INC,STA 2500,LDA 1100,.,0,1,2,3,4,5,6,7,8,9,PC,+1,指令地址寻址方式,指令地址,指令,顺序寻址,1,顺序寻址,2,顺序寻址,3,跳跃寻址,7,顺序寻址,8,通过程序计数器,PC,加,1,,自动形成下一条指令的地址。,2.,数据寻址,形式地址:,指令字中的地址,有效地址:,操作数的真实地址,(用,EA,表示),,由寻址方式和形式地址共同确定。,约定,指令字长,=,存储字长,=,机器字长,(1),立即寻址,指令执行阶段不访存,A,的位数限制了立即数的范围,形式地址,A,操作码,寻址特征,OP,#,A,立即寻址特征,立即数,可正可负,补码表示,形式地址,A,就是操作数,以一地址指令为例,#,号是立即寻址特征的标记,下面,要注意指令格式中有效地址,EA,的表示,(2),直接寻址,EA=A,操作数,主存,寻址特征,OP,A,A,执行阶段访问一次存储器,A,的位数决定了该指令操作数的寻址范围,操作数的地址不易修改(必须修改,A,),有效地址由形式地址直接给出,(3),隐含寻址,操作数地址隐含在操作码中,ADD,A,操作数,主存,寻址特征,A,ACC,暂存,ALU,另一个操作数,隐含在,ACC,中,如,8086,MUL,指令,被乘数隐含在,AX,(,16,位)或,AL,(,8,位)中,MOVS,指令,源操作数的地址隐含在,SI,中,目的操作数的地址隐含在,DI,中,指令字中少了一个地址字段,可缩短指令字长,隐含在,ACC,中的操作数,(4),间接寻址,EA=,(,A,),有效地址由形式地址间接提供,OP,A,寻址特征,A,EA,主存,EA,A,1,EA,A,1,主存,EA,1,0,执行指令阶段,2,次访存,可扩大寻址范围,若存储字,长,16,位,则寻址范围可达,2,16,便于编制程序,OP,A,寻址特征,A,一次间址,多次间址,操作数,操作数,多次访存:,存储字首位是多次间址标志,故寻址范围稍小,若存储字长,16,位,则寻址范围为,2,15,两次访存,指令执行时间延长,(5),寄存器寻址,EA=R,i,执行阶段不访存,只访问寄存器,执行速度快,OP,R,i,寻址特征,地址段只指明寄存器编号,寄存器个数有限,编码短,可,缩短指令字长,操作数,R,0,R,i,R,n,寄存器,有效地址即为寄存器编号,EA=(R,i,),(6),寄存器间接寻址,有效地址在寄存器中,操作数在存储器中,执行阶段访存一次,操作数,主存,OP,R,i,寻址特征,便于编制循环程序,地址,R,0,R,i,R,n,寄存器,有效地址在寄存器中,与间接寻址方式比较,执行阶段访存一次,寻址范围与寄存器,长度有关。,(7),基址寻址,采用专用寄存器作基址寄存器,EA=(BR)+A,BR,为基址寄存器(隐式的),OP,A,操作数,主存,寻址特征,ALU,BR,可扩大寻址范围,有利于多道程序,BR,内容由操作系统或管理程序确定,在程序的执行过程中,BR,内容不变,形式地址,A,可变,采用通用寄存器作基址寄存器,操作数,主存,寻址特征,ALU,OP,R,0,A,R,0,作基址寄存器,由用户指定哪个通用寄存器作为基址寄存器,通用寄存器,R,0,R,n,-1,R,1,基址寄存器的内容由操作系统确定,在程序的执行过程中,R,0,内容不变,形式地址,A,可变,(8),变址寻址,EA=(IX)+A,OP,A,操作数,主存,寻址特征,ALU,IX,可扩大寻址范围,便于处理数组问题,IX,的内容由用户给定,IX,为变址寄存器(专用),在程序的执行过程中,IX,内容可变,形式地址,A,不变,通用寄存器也可以作为变址寄存器,采用专用寄存器作变址寄存器,操作数,主存,寻址特征,ALU,OP,R,1,A,R,1,作变址寄存器,通用寄存器,R,0,R,n,-1,R,1,采用通用寄存器作变址寄存器,由用户指定哪个通用寄存器作为变址寄存器,基址寄存器的内容由用户确定,在程序的执行过程中,R,1,内容可变,形式地址,A,不变,变址和基址寻址的异同:,同:可扩大寻址范围;有效地址形成过程形似。,异:应用场合不同,基址寻址主要用于为程序或数据分配存储空间,故基址寄存器的内容通常有操作系统或管理程序确定,在程序的执行过程中其值是不可变的,而指令字中的,A,是可变的;,变址寻址,变址寄存器的内容由用户设定,在程序执行过程中其值可变,而指令字中的,A,不可变。主要用于处理数组、字符串等成批数据。,(9),相对寻址,EA=(PC)+A,(,PC,是当前指令地址),A,是操作数相对于当前指令的位移量(可正可负,补码),A,的位数决定操作数的寻址范围,程序浮动,广泛用于转移指令,操作数,寻址特征,ALU,OP,A,相对距离,A,1000,PC,主存,1000,A,OP,若,A,为,8,位,则指令的寻址范围为:,(PC)+127 (PC)-128,(10),堆栈寻址,堆栈,硬堆栈,软堆栈,多个寄存器,指定的主存空间,先进后出,(一个入出口),栈顶地址,由,SP,指出,1,1FFFH,+1,2000H,进栈 (,SP,),1 SP,出栈 (,SP,),+1 SP,栈顶,栈底,2000 H,SP,2000H,1FFF H,SP,1FFFH,栈顶,栈底,进栈,出栈,1FFF H,栈顶,2000 H,栈顶,可视为隐含寻址,因为操作数地址隐含在堆栈指针,SP,中;,也可视为寄存器间接寻址(因为,SP,可视为寄存器)。,例,2,:设相对寻址的转移指令占两个字节,第一字节是操作码,第二字节是相对位移量,用补码表示。每当,CPU,从存储器取出一个字节时,即自动完成,(PC)+1,PC,。,(1),设当前,PC,值为,3000H,,试问转移后的目标地址范围是什么,?,(2),若当前,PC,值为,2000H,,要求转移到,201BH,,则转移指令第二字节的内容是什么,?,(3),若当前,PC,值为,2000H,,指令,JMP*-9,的第二字节内容为多少?,(*为相对寻址特征),解:,(1),转移地址为:,(,PC,),+,指令中的地址码部分,指令中给出的转移位移量为:,-128 +127,(,-80H +7FH,补码表示),PC,当前值为,3000H,,且,CPU,取出该指令后,修改为,3002H,,,因此最终的转移目标地址范围为,3081H2F82H,,,即,3002H+7FH 3002H-80H,(2),若,PC,当前值为,2000H,,取出该指令后,PC,值为,2002H,,故转移指令,第二字节应为:,20l BH-2002H,19H,。,若指令占,3,个字节呢?,(3),根据,JMP*-9,,要求转移到,2000H-9=1FF7H,处,因取出指令后,PC,已到,2002,,故指令第二字节内容为,F5H,(,-11,的补码表示)。,例,4,:某机主存容量为,4M 16,位,且存储字长等于指令字长,若该机指令系统能完成,97,种操作,操作码位数固定,且具有直接、间接、变址、基址、相对、立即等六种寻址方式。,(1),画出一地址指令格式并指出各字段的作用。,(2),该指令直接寻址的最大范围。,(3),一次间址和多次间址的寻址范围。,(4),立即数的范围,(,十进制数表示,),。,(5),相对寻址的位移量,(,十进制数表示,),。,(6),上述六种寻址方式的指令哪一种执行时间最短?哪一种最长,?,哪一种便于用户编制处理数组问题的程序,?,哪一种便于程序浮动,?,为什么?,(7),如何修改指令格式使指令的直接寻址范围可扩大到,4M?,(8),为使一条转移指令能转移到主存的任一位置,可采取什么措施,?,请简要说明。,解:,(1),一地址指令格式,OP,操作码字段,共,7,位,可反映,97,种操作;,M,寻址方式特征字段,共,3,位,可反映,6,种寻址方式;,A,形式地址字段,共,16-7-3,6,位。,(2),直接寻址的最大范围为,2,6,64,(3),由于存储字长为,16,位,故一次间址的寻址范围为,2,16,。,若多次间址,需用存储字的最高,位来区别是否继续间接寻址,故 寻址范围为,2,15,。,(4),立即数的范围是,-32 +31(,有符号数,),或,063(,无符号数,),。,(5),相对寻址的位移量为,-32 +31,。,15 9 8 6 5 0,(6),上述六种寻址方式中,,因立即数内指令直接给出,故立即寻址的指令执行时间最短;,间接寻址在指令的执行阶段要多次访存,(,一次间接寻址要两次访存,多次间接寻址要多次访存,),,故执行时间最长;,变址寻址由于变址寄存器的内容由用户给定,而且在程序的执行过程中允许用户修改,而其形式地址始终不变,故变址寻址的指令便于用户编制处理数组问题的程序。,相对寻址操作数的有效地址只与当前指令地址相差一定的位移量,与直接寻址相比,更有利于程序浮动。,(7),若指令的格式改为双字指令。,其中,OP 7,位,,M 3,位,,A,1,6,位,,A,2,16,位,即指令的地址字段共,16+6=22,位,则指令的直接寻址范围可扩大到,4M,。,15 9 8 6 5 0,(8),为使一条转移指令能转移到主存的任一位置,寻址范围须达到,4M,,除了采用,(7),所示的格式外,,还可配置,22,位的基址寄存器 或,22,位的变址寄存器,使,EA=(BR)+A,(BR,为,22,位的基址寄存器,),或,EA=(IX)+A,(IX,为,22,位的变址寄存器,),,,便可访问,4M,存储空间。,还可以通过,16,位的基址寄存器左移,6,位再和形式地址,A,相加,也可达到同样的效果。,例,8,某机指令格式如下图所示:,图中,I,为间址特征位,(I=0,,直接寻址;,I=1,,一次间接寻址,),。假设存储器部分单元有以下内容:,指出下列机器指令,(,十六进制表示,),的有效地址。,(1)D7 (2)DF (3)DE (4)D2,OP,I,A,0 3 4 5 7,地址号(十六进制),00,01,02,03,04,05,06,07,内容(十六进制),01,5E,9D,74,A4,15,04,A0,解:,(1)1101,0,111 I=0,,直接寻址,有效地址为:,111B,(,7H,),(2)1101,1,111 I=1,,间接寻址,形式地址为:,111B,(,7H,),有效地址为:,A0H,(3)1101,1,110 I=1,,间接寻址,,A=06H,,,EA=04H,(4)1101 0010 I=0,,直接寻址,,EA=02H,例,9,某机指令格式如下图所示。图中,x,为寻址特征位,且,当,x,0,时,不变址;,x,1,时,用变址寄存器,x1,,进行变址,x,2,时,用变址寄存器,x2,进行变址,x,3,时,相对寻址。,设,(PC)=1234H,,,x1=0037H,,,x2=1122H,,确定下列指令的有效地址,(,指令和地址均用十六进制表示,),:,(1)4420,;,(2)2244,;,(3)1322,;,(4)3521,。,OP,X,A,0 5 6 7 8 15,解:,(1)0100 01,00,0010 0000 X=0,,不变址,有效地址为:,20H,(2)0010 00,10,0100 0100 X=2,,用,X2,进行变址,有效地址为:,(,x2)+A=1122H+44H=1166H,(3)0001 00,11,0010 0010 X=3,,相对寻址,有效地址为:,(,PC,),+A=1234H+22H=1257H,(4),例,10.,一种一地址指令的格式如下所示。其中,I,为间址特征,,X,为寻址模式,,A,为形式地址。设,R,为通用寄存器,也可作为变址寄存器。在表中填入适当的寻址方式名称。,OP,I,X,A,直接寻址,相对寻址,变址寻址,寄存器直接寻址,间接寻址,先相对后,间接,寻址,先变址再,间接,寻址,寄存器间接寻址,43.(11,分,),某计算机字长为,16,位,主存地址空间大小为,128KB,,按字编址,采用单字长指令格式,指令各字段定义如下:,OP,Ms,Rs,Md,Rd,15 12 11 6 5 0,源操作数,目的操作数,转移指令采用相对寻址方式,相对偏移量用补码表示,寻址方式定义如下:,Ms/Md,寻址方式,助记符,含义,000B,寄存器直接,Rn,操作数,=(Rn),001B,寄存器间接,(Rn),操作数,=(Rn),010B,寄存器间接、自增,(Rn)+,操作数,=(Rn),,,(Rn)+1Rn,011B,相对,D(Rn),转移目标地址,=(PC)+(Rn),注:(,x,)表示存储器地址,x,或寄存器,x,的内容,请回答下列问题:,(,1,)该指令系统最多可有多少条指令?该计算机最多有多少个通用寄存器?存储器地址寄存器(,MAR,)和存储器数据寄存器(,MDR,)至少各需多少位?,(,2,)转移指令的目标地址范围是多少?,(,3,)若操作码,0010B,表示加法操作(助记符为,add,),寄存器,R4,和,R5,的编号分别为,100B,和,101B,,,R4,的内容为,1234H,,,R5,的内容为,5678H,,地址,1234H,中的内容为,5678H,,地址,5678H,中的内容为,1234H,,则汇编语句“,add (R4),(R5)+”,(逗号前为源操作数,逗号后为目的操作数)对应的机器码是什么(用十六进制表示)?该指令执行后,哪些寄存器和存储单元的内容会改变?改变后的内容是什么?,该指令系统最多可有,2,4,=16,条指令,该计算机最多有,2,3,=8,个通用寄存器,存储器地址寄存器,MAR,至少,16,位(,2,16,=64K,,按字寻址),存储器数据寄存器,MDR,至少,16,位(机器字长为,16,位),(2)PC,:,16,位,通用寄存器:,16,位,转移指令的目标地址范围:,02,16,-1=0 FFFFH,(3),汇编语句“,add (R4),(R5)+”,对应的机器码:,0010 001 100 010 101B=2315H,哪些寄存器和存储单元的内容会改变,:,寄存器,R5,,存储单元,5678H,内容会改变;,R5=5679H R5=5678H+1=5679H ,(,5678H,),=68ACH,(,R4,),+,(,R5,),=1234H+5678H=68ACH ,练习一、唐朔飞习题集,(一)选择,1,指令系统中采用不同寻址方式的目的主要是,_,A,可降低指令译码难度,B,缩短指令字长,扩大寻址空间,提高编程灵活性,C,实现程序控制,答案:,B,2.,零地址运算指令在指令格式中不给出操作数地址,它的操作数来自,_,A.,立即数和栈顶,B.,暂存器,C,栈顶和次栈顶,答案:,C,3.,在一地址指令中,为完成两个数的算术运算,除地址译码指明的一个操作数外,另一个操作数常采用,_,A.,堆栈寻址方式,B,立即寻地址方式,C,隐含寻址方式,答案:,C,4,二地址指令中,操作数的物理位置可安排在,_,。,(,本题是多项选择,A,两个主存单元,B,两个寄存器,C,一个主存单元和一个寄存器,D,栈顶和次栈顶,答案:,A B C,6,寄存器间接寻址方式中,操作数在,_,中。,A.,通用寄存器,B.,堆栈,C.,主存单元,答案:,C,7,变址寻址方式中,操作数的有效地址是,_,A,基址寄存器内容加上形式地址,(,位移量,),B,程序计数器内容加上形式地址,C,变址寄存器内容加上形式地址,答案:,C,9,采用基址寻址可扩大寻址范围,且,_,。,A,基址寄存器内容由用户确定,在程序执行过程中不可变,B,基址寄存器内容由操作系统确定,在程序执行过程中不可变,C,基址寄存器内容由操作系统确定,在程序执行过程中可变,答案:,B,10,采用变址寻址可扩大寻址范围,且,_,。,A,变址寄存器内容由用户确定,在程序执行过程中不可变,B,变址寄存器内容由操作系统确定,在程序执行过程中可变,C,变址寄存器内容由用户确定,在程序执行过程中可变,答案:,C,12,堆栈寻址方式中,设,A,为累加器,,SP,为堆栈指示器,,Msp,为,SP,指示的栈顶单元。如果进栈操作的动作顺序是,(A),Msp,,,(SP)-1,SP,,那么出栈操作的动作顺序应为,_,A.(Msp),(A),,,(SP)+l,SP B,(SP)+1,SP,,,(Msp),A,C.(SP)-1,SP,,,(Msp),A,答案:,B,入栈操作和出栈操作是镜像的操作,栈指针是相反的操作,14,设变址寄存器为,X,,形式地址为,D,,某机具有先变址再间址的寻址方式则这种寻址方式的有效地址为,_,。,A.EA=(x)+D B.EA=(x)+(D)C.EA,(x)+D),答案:,C,13,堆栈寻址方式中,设,A,为累加器,,SP,为堆栈指示器,,Msp,为,SP,指示的栈顶单元。如果进栈操作的动作顺序是,(SP)-1,SP,,,(A),Msp,,那么出栈操作的动作顺序应为,_,A.(Msp),(A),,,(SP)+l,SP B,(SP)+1,SP,,,(Msp),A,C.(SP)-1,SP,,,(Msp),A,答案:,A,各寻址方式可以组合使用,15,设变址寄存器为,X,,形式地址为,D,,某机具有先间址后变址的寻址方式,则这种寻址方式的有效地址为,_,A.EA=(x)+D B.EA=(x)+(D)C.EA,(x)+D),答案:,B,18,运算型指令的寻址和转移型指令的寻址不同点在于,_,A.,前者取操作数,后者决定程序转移地址,B,前者是短指令,后者是长指令,C,后者是短指令,前者是长指令,答案:,A,19.,指令的寻址方式有顺序和跳跃两种,采用跳跃寻址方式可以实现,A.,程序浮动,B,程序的无条件转移和浮动,C,程序的条件转移和无条件转移,答案:,C,程序浮动是数据寻址方式中相对寻址方式的特点。,23.,设相对寻址的转移指令占两个字节,第一字节是操作码,第二字节是相对位移量,(,可正可负,),,则转移的地址范围是,_,。,A.255 B,256 C.254,答案:,B,补码表示:,-128 0 127,:,256,21,设相对寻址的转移指令占两个字节,第一字节是操作码,第二字节是相对位移量,(,用补码表示,),,若,CPU,每当从存储器取出一个字节时,即自动完成,(PC)+1,PC,,设当前,PC,的内容为,2000H,,要求转移到,2008H,地址,则该转移指令第二字节的内容应为,_,。,A,08H B,06H C.0AH,答案:,B,24,直接、间接、立即三种方式指令执行速度,由快至慢的排序是,_,答案:立即、直接、间接,26,为了缩短指令中地址码的位数,应采用,_,寻址。,A,立即数,B,寄存器,C,直接,答案:,B,28,在指令格式设计中,采用扩展操作码的目的是,_,。,A,增加指令长度,B,增加寻址空间,C,增加指令数量,答案:,C,29,设机器字长为,16,位,存储器按字编址,对于单字长指令而言,读取该指令后,,PC,值自动加,_,A,1 B,2 C,4,答案:,A,指令字长等于存储字长,故,一个存储单元可存一条指令,读一次存储器即可读取一条指令,故在此,PC+1,。,30,设机器字长为,16,位,存储器按字节编址,,CPU,读取一条单字长指令后,,PC,值自动加,_,A,1 B,2 C,4,答案:,B,在此需读两个存储单元才能取出一条指令,故,PC+2,31,设机器字长为,16,位,存储器按字节编址,设,PC,当前值为,1000H,,当读取一条双字长指令后,,PC,值为,_,A.1001H B,1002H C,1004H,答案:,C,34,转移指令的主要操作是,_,。,A,改变程序计数器,PC,的值,B,改变地址寄存器的值,C,改变程序计数器的值和堆栈指针,SP,的值,答案:,A,35.,子程序调用指令完整的功能是,_,A,改变程序计数器,PC,的值,B.,改变地址寄存器的值,C,改变程序计数器的值和堆栈指针,SP,的值,答案:,C,38,下列,_,是错误的。,A,为了充分利用存储器空间,指令的长度通常可取字节的整数倍,B,一地址指令是固定长度的指令,C,单字长指令可加快取指令的速度,答案,:B,40,在一地址格式的指令中,下列,_,是正确的,A,仅有一个操作数,其地址由指令的地址码提供,D,可能有一个操作数,也可能有两个操作数,C,一定有两个操作数,另一个是隐含的,答案:,B,41,下列三种类型的指令,,_,执行时间最长。,A.RR,型,B.RS,型,C,SS,型,答案:,C,46,在下列寻址方式中,,_,寻址方式需要先计算,再访问主存。,A,立即,B,变址,C.,间接,答案:,B,RR,:寄存器,-,寄存器,RS,:寄存器,-,存储器,SS,:存储器,-,存储器,计算地址,(二)综合,5,某机字长,32,位,,CPU,内有,32,个,32,位的通用寄存器,设计一种能容纳,64,种操作的指令系统,设指令字长等于机器字长。,(1),如果主存可直接或间接寻址,采用寄存器,存储器型指令,能直接寻址的最大存储空间是多少,?,画出指令格式。,(2),如果采用通用寄存器作为基址寄存器,则上述寄存器,存储器型指令的指令格式有何特点,画出指令格式并指出这类指令可访问多大的存储空间,?,解:,(1)OP,段:,6,位,寻址模式:,1,位,寄存器段:,5,位,形式地址:,20,位,能直接寻址的存储空间为,2,20,。,OP,I,R,A,6 1 5 20,OP,I,R,B,A,6 1 5 5 15,增加,B,字段,用以指出哪个寄存器为基址寄存器。,因为通用寄存器为,32,位,用它作基址寄存器后,有效地址等于基址寄存器内容加上形式地址,可得,32,垃的有效地址,故寻址范围可达,2,32,。,26.,设机器字长为,12,位,若主存容量,64K*12,位,为使一条,12,位长的转移指令能够转移到主存的任一单元,应选用何种寻址方式?说明理由。,解:采用基址寻址,将,12,位的基址寄存器左移,4,位,形成,16,位基地址,可寻址,64K,空间。,33.,一条双字长的取数指令(,LDA,)存于存储器的,100,和,101,单元,其中第一个字为操作码和寻址特征,M,,第二个字为形式地址。假设,PC,当前值为,100,,变址寄存器,XR,的内容为,100,,基址寄存器的内容为,200,,存储器各单元的内容如下图所示。写出在下列寻址方式中,取数指令执行结束后,累加器,AC,的内容。,LDA,M,300,800,700,400,500,200,600,100,101,102,300,400,401,402,500,800,寻址方式,AC,内容,直接寻址,立即寻址,间接寻址,相对寻址,变址寻址,基址寻址,800,300,600,500,700,200,【,例,】,某,16,位机,所使用的指令格式和寻址方式如下所示。,该机有,两个,20,位基值寄存器,四个,16,位变址寄存器,十六个,16,位通用寄存器,。指令格式中的,S(,源,),,,D(,目标,),都是通用寄存器,,M,是主存中的一个单元。三种指令的操作码分别是,MOV (OP),(A),H,,,STO (OP),(1B),H,,,LAD (OP),(3C),H,。,MOV,是传送指令,,STA,为写数指令,,LDA,为读数指令。,OP,目标,源,MOV S,D,15 10 9 8 7 4 3 0,20,位地址,目标,OP,LAD D,,,M,15 10 9 8 7 4 3 0,OP,基址,源,变址,位移量,15 10 9 8 7 4 3 0,STO S,M,要求:(,1,)分析三种指令格式与寻址方式特点。,(,2,),CPU,完成哪一种操作所花时间最短?哪一种操作花时间最长?第二种指令的执行时间有时会等于第三种指令的 执行时间吗?,(,3,)下列情况下每个十六进制指令字分别代表什么操作?其中如果有编码不正确,如何改正才能成为合法指令?,(F0F1)H (3CD2)H (2856)H (6FD6)H (1C2)H,解:,(1),第一种指令是单字长二地址指令,,RR,型;,第二种指令是双字长二地址指令,,RS,型,其中,S,采用基址寻址或变址寻址,,R,由源寄存器决定;,第三种也是双字长二地址指令,,RS,型,其中,R,由目标寄存器决定,,S,由,20,位地址(直接寻址)决定。,(2),第一种指令所花时间最短,因为是,RR,型指令,不需要访问存储器。,第二种指令所花时间最长,因为是,RS,型指令,需要访问存储器,同时要进行寻址方式的变换运算(基值或变址),这也需要时间。,第三种指令虽然也访问存储器,但节省了,求有效地址运算的时间开销。,第二种指令的执行时间不会等于第三种指令的执行时间。,(3),根据已知条件:,MOV(OP),001010,,,STO(OP),011011,,,LAD(OP),111100,(F0F1),H,(3CD2),H,=,111100,00,1111,0001,(3CD2),H,20,位地址,目标,OP,LAD D,M,15 10 9 8 7 4 3 0,该指令代表,LAD,指令,编码正确,其含义是把主存,(13CD2)H,地址单位元的内容取至,15,寄存器。,(6FD6),H,=,011011,11,1101,0110,OP,目标,源,MOV S,D,15 10 9 8 7 4 3 0,根据已知条件:,MOV(OP),001010,,,STO(OP),011011,,,LAD(OP),111100,该指令是单字长指令,一定是,MOV,指令,但编码错误,,可改正为,001010,00,1101,0110,=(28D6)H,【,例,】,指令格式结构如下所示,试分析指令格式及寻址方式特点。,解:指令格式及寻址方式特点如下:双字长二地址指令;操作码,OP,可指定,2,6,=64,条指令;,RS,型指令,两个操作数一个在寄存器中(,16,个寄存,器之一),寄存器寻址方式;另一个在存储器中,变,址寻址方式;有效地址通过变址求得:,E=,(变址寄存器),+D,,变,址寄存器可有,16,个。,【,例,】,某计算机字长,32,位,主存容量为,64M,字,采用单字长单地址指令,共有,40,条指令,试采用直接、立即、变址、相对四种寻址方式设计指令格式。,解:,40,条指令需占用操作码字段(,OP,),6,位;,4,种寻址方式,寻址模式(,X,),2,位;形式地址(,D,),24,位,其指令格式如下:,寻址模式定义如下:,X=0 0,直接寻址 有效地址,E=D,(直接寻址为,?,个存储单元),X=0 1,立即寻址,D,字段为操作数,X=1 0,变址寻址 有效地址,E=(R,X,),D,(可寻址,?,个存储单元),X=1 1,相对寻址 有效地址,E=(PC),D,(可寻址,?,个存储单元)其中,R,X,为变址寄存器(,32,位),,PC,为程序计数器(,32,位),在变址和相对寻址时,,位移量,D,可正可负,。,OP,X,D,31 26 25 24 23 0,该题给的条件较少,理解即可。,练习二、历年考研题,某计算机字长,16,位,存储器按字编址,访存指令格式如下,其中,OP,是操作码,,M,定义寻址模式,,A,为形式地址,设,PC,和,Rx,分别为程序计数器和变址寄存器,字长,16,位。问:,(1),该格式能定义多少种指令?,(2),各寻址方式的寻址范围为多少字?,(3),写出各寻址方式的有效地址,EA,的计算式。,A,M,OP,15 11 10 8 7 0,M,值,寻址方式,0,立即寻址,1,直接寻址,2,间接寻址,3,变址寻址,4,相对寻址,解:,寻址方式,寻址范围,EA,立即寻址,1,个字,即操作数,=A,直接寻址,2,8,个字,A,间接寻址,2,16,个字,(A),变址寻址,2,16,个字,(Rx)+A,相对寻址,2,8,个字,(-128+127),(PC)+A,(,中科院计算所),2.,已知基址寄存器的内容为,1000H,,变址寄存器的内容为,03A0H,,指令的地址码部分为,3FH,,当前正在执行的指令的地址为,2B00H,,则在考虑基址的前提下,采用变址寻址方式,访存的有效地址为,_,;采用相对寻址方式,访存的有效地址为,_,。,(,中科院计算所),解:考虑基址,则 变址寻址访存的有效地址为:,EA=(X)+A+(BR)=03A0H+3FH+1000H=13DFH,考虑基址,相对寻址访存的有效地址为:,EA=(PC)+A+(BR)=2B00H+3FH+03A0H=2EDFH,3.,某机存储字长,16,位,采用一地址指令格式的指令系统,允许直接、间接、变址、基址寻址,且变址寄存器均为,16,位,试回答:,(1),若采用单字指令,其能完成,108,种操作,画出指令格式,并指出直 接寻址和一次间接寻址的寻址范围各为多少?,(2),若采用双字指令,操作码和寻址方式不变,指令可直接寻址的范围又是多少?画出指令格式。,(3),若存储字长不变,可采用什么方法访问容量为,8MB,的主存的任一地址单元,说明理由。,(哈工大),解:,(3),采用双字长指令,用其直接寻址方式。,因为其主存字长,16,位,各寄存器都为,16,位,故间接、基址、变址都寻不到。,双字长指令形式地址,23,位,故可寻址到,8MB,的任一位置。,4.,某指令系统字长,12,位,每个操作数的地址码长,3,位,使提出一种分配方案,使该指令系统由有,4,条三地址指令,,8,条二地址指令,,180,条单地址指令。,(上海交大,),5.,某计算机的指令系统字长,16,位,采用扩展操作码,操作数地址需要,4,位。该组指令已有三地址指令,M,条,二地址指令,N,条,没有零地址指令,问系统最多还有多少条一地址指令。,(东北大学),答案:,2,12,-M*2,8,-N*2,4,6.,条件
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服