您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > 第6章练习与作业讲解
练习1某机型字长为16位,访问内存指令格式如下:OPMA其中,OP是操作码;M定义寻址方式;A为形式地址。设PC为程序计数器,Ri为变址寄存器,字长为16位,问:(1)该指令能定义多少种指令解:OP字段为5位,25=32种指令151110870OPMA(2)表中各种寻址方式的范围为多少?(3)写出表中各种寻址方式的有效地址EA的计算公式解:151110870寻址方式EA计算公式寻址范围立即寻址直接寻址间接寻址变址寻址相对寻址EA=(PC)指令自身EA=A256BEA=(A)64KBEA=(Ri)+A64KBEA=(PC)+A(PC)-128B~(PC)+127B练习2某机型指令格式如下:OPMA其中M定义寻址方式,M=0时,不变址;M=1时,用变址寄存器X1进行变址;M=2时,用变址寄存器X2进行变址;X=3时,相对寻址。设(PC)=1234H,(X1)=0037H,(X2)=1122H,请确定下列指令的有效地址。(1)4420H(2)2244H(3)1322H(4)3521H(5)6723H15109870练习2OP(6位)M(2位)A(8位)解:(1)指令码为4420H将指令码展开:0100010000100000BM=00,不变址,有效地址EA=A=20H15109870(2)指令码为2244H将指令码展开:0010001001000100BM=10,用变址寄存器X2进行变址有效地址EA=(X2)+A=1122H+44H=1166H练习2OP(6位)M(2位)A(8位)(3)指令码为1322H将指令码展开:0001001100100010BM=11,相对寻址有效地址EA=(PC)+A=1234H+22H=1256H15109870(4)指令码为3521H将指令码展开:0011010100100001BM=01,用变址寄存器X1进行变址有效地址EA=(X1)+A=0037H+21H=0058H练习2OP(6位)M(2位)A(8位)(5)指令码为6723H将指令码展开:0110011100100011BM=11,相对寻址有效地址EA=(PC)+A=1234H+23H=1257H15109870练习3某机存储字长为16位,采用一地址格式的指令系统,允许直接、间接、变址、基址寻址且变址寄存器和基址寄存器均为16位,试回答:(1)若采用单字指令,共能完成108种操作,画出指令格式,并指出直接寻址和间接寻址的寻址范围解:26=64,27=128,所以要完成108种操作需7位操作码指令系统中有4种寻址方式,所以寻址方式字段需2位由于是一地址格式所以地址码字段位数=16-7-2=7位格式如下OP(7位)M(2位)A(7位)1587609直接寻址寻址范围:27间接寻址寻址范围:216(2)若采用双字指令,操作码位数和寻址方式不变,指令可直接寻址的范围是多少,画出指令格式。解:若采用双字指令,指令字长为32位操作码位数和寻址方式不变所以地址码字段位数=7位+16位=23位格式如下OP(7位)M(2位)A(23位)31242322025直接寻址寻址范围:223作业1(6.10)某机型16位字长指令格式如下:OPMD5位3位8位其中,D是形式地址,采用补码表示(包括一位符号);M是寻找方式M=0立即寻址M=1直接寻址(这时D为地址,是无符号数)M=2间接寻址M=3变址寻址(变址寄存器Ri,16位)M=4基址寻址(基址寄存器Rb,16位)M=5相对寻址OP(5位)M(3位)D(8位)(1)该指令格式最多可以定义多少种不同的操作?立即寻址操作数的范围是什么?解:由于操作码字段为5位,所以该指令最多可以定义25=32种不同的操作指令在地址码字段直接给出操作数,而地址码字段为8位补码,所以立即数的范围:-128~+127(2)写出各寻址方式的有效地址的计算表达式(3)各种寻址方式能访问的最大主存空间访问是什么?解:寻址方式EA计算公式寻址范围M=0,立即寻址EA=(PC)指令自身M=1,直接寻址EA=D256BM=2,间接寻址EA=(D)64KBM=3,变址寻址EA=(Ri)+D64KBM=4,基址寻址EA=(Rb)+D64KBM=5,相对寻址EA=(PC)+D(PC)-128B~(PC)+127BOP(5位)M(3位)D(8位)直接寻址时,D是地址,是无符号数间接寻址时,操作数的地址在存储器中,存储器字长为16位基址、变址寻址时,操作数的地址由寄存器和形式地址D共同给出,寄存器字长为16位?相对寻址是指令寻址(转移)?转移地址:PC的当前值再加上一个相对偏移量D作业2(6.13)某机器内有16个32位通用寄存器,设计一种有60种操作、8种寻址方式的指令系统。假设指令字长等于机器字长(32位),请回答:(1)若主存可以直接寻址或间接寻址,存储器字长32位,采用“寄存器-存储器”型指令,能寻址的最大存储空间是多少?试画出指令格式,并说明各字段的含义。解:因为26=64,所以定义60种操作,操作码字段需要6位共有8种寻址方式,23=8,所以MOD字段需要3位共有16个通用寄存器,24=16,所以在指令中需要4位编码选择寄存器?采用寄存器间接寻址时,寄存器存放操作数的地址,EA=(Ri),寄存器为32位,操作数地址即为32位,所以寻址最大空间为:232B?采用直接寻址,地址码字段的形式地址就是有效地址,EA=A,为19位,所以寻址最大空间为:219BOP(6位)MOD(3位)REG(4位)A(19位)018192223252631?指令格式指令字长为32位,OP需6位、MOD需3位、Ri需4位A的位数=32-6-3-4=19位指令格式如下(2)若采用通用寄存器作基址寄存器,则“寄存器-存储器”型指令的格式是怎样的?能寻址的最大存储空间是多少?解:OP(6位)MOD(3位)Rb(4位)A(19位)018192223252631寻址最大空间:232B
本文标题:第6章练习与作业讲解
链接地址:https://www.777doc.com/doc-7155322 .html