以下程序段是某个过程对应的指令序列。入口参数int a和int b分别置于$a0和$a1中,返回参数是该过程的结果,置于$v0中。要求为以下MIPS指令序列加注释,并简单说明该过程的功能。
1:将t0寄存器置零 2:如果a1的值等于零则程序转移到finish处 3:将t0和a0的内容相加,结果存放于t0 4:将a1的值减1 5:无条件转移到loop处 6:将t0的内容加上100,结果存放于t0 7:将t0的值存放在v0 该程序的功能是计算“100+a×b”
问答题有些计算机提供了专门的指令,能从32位寄存器中抽取其中任意一个位串置于一个寄存器的低位有效位上,并高位补0,如下图所示。MIPS指令系统中没有这样的指令,请写出最短的一个MIPS指令序列来实现这个功能,要求i=5,j=22,操作前后的寄存器分别为$s0和$s2。
问答题某计算机字长16位,每次存储器访问宽度16位,CPU中有8个16位通用寄存器。现为该机设计指令系统,要求指令长度为字长的整数倍,至多支持64种不同操作,每个操作数都支持4种寻址方式:立即(I)寄存器直接(R)寄存器间接(S)和变址(X),存储器地址位数和立即数均为16位,任何一个通用寄存器都可作变址寄存器,支持以下7种二地址指令格式(R、I、S、X代表上述四种寻址方式):RR型、RI型、RS型、RX型、XI型、SI型、SS型。请设计该指令系统的7种指令格式,给出每种格式的指令长度、各字段所占位数和含义,并说明每种格式指令需要几次存储器访问?
问答题某计算机指令系统采用定长指令字格式,指令字长16位,每个操作数的地址码长6位。指令分二地址、单地址和零地址三类。若二地址指令有k2条,无地址指令有k0条,则单地址指令最多有多少条?
问答题操作数采用寄存器间接寻址,指令中给出的寄存器编号为8,8号寄存器的内容为1200H。
问答题操作数采用一次间接寻址,指令中给出的地址码为1200H。