以下程序段是某个过程对应的MIPS指令序列,其功能为复制一个存储块数据到另一个存储块中,存储块中每个数据的类型为float,源数据块和目的数据块的首地址分别存放在$a0和$a1中,复制的数据个数存放在$v0中,作为返回参数返回给调用过程。在复制过程中遇到0则停止,最后一个0也需要复制,但不被计数。已知程序段中有多个Bug,请找出它们并修改。
正确答案
答案解析
相似试题
(简答题)
以下程序段是某个过程对应的指令序列。入口参数int a和int b分别置于$a0和$a1中,返回参数是该过程的结果,置于$v0中。要求为以下MIPS指令序列加注释,并简单说明该过程的功能。
(简答题)
以下是一个计算阶乘的C语言递归过程,请按照MIPS过程调用协议写出该递归过程对应的MIPS汇编语言程序,要求目标代码尽量短(提示:乘法运算可用乘法指令“mul rd,rs,rt”来实现,功能为“rd←(rs)×(rt)”)。
(简答题)
用一条MIPS指令或最短的指令序列实现以下C语言语句:b=25|a。假定编译器将a和b分别分配到$t0和$t1中。如果把25换成65536,即b=65536|a,则用MIPS指令或指令序列如何实现?
(简答题)
对于多周期MIPS处理器,假定将访问数据的过程分成两个时钟周期可使时钟频率从4.8GHz提高到5.6GHz,但会使得lw和sw指令增加时钟周期数。已知基准程序CPUint 2000中各类指令的频率为:Load:25%,Store:10%,Branch:11%,Jump:2%,ALU:52%。以基准程序CPUint 2000为标准计算时钟频率提高后处理器的性能提高了多少?若将取指令过程再分成两个时钟周期,则可进一步使时钟频率提高到6.4GHz,此时,时钟频率的提高是否也能带来处理器性能的提高?为什么?
(简答题)
下面不完整的程序段是比较AX和BX的值,把其中大的数送MAX变量。如果是无符号数,应如何填写指令?如果是有符号数,应如何填写指令?
(单选题)
以下是死循环的程序段是()。
(单选题)
以下能正确计算1×2×3×…×10的程序段是()。
(简答题)
下面程序段是判断寄存器AH和AL中第三位是否相同,如相同,AH置0,否则AL置0。试在空白处填上适当的指令(一个空白处只填一条指令)。
(单选题)
在MIPS的指令流水线中,可能发生的冲突有()