问答题

某高级语言程序中的一个while语句为“while(save[i]=k) i+=1;”,若对其编译时,编译器将i和k分别分配在寄存器s3和s5中,数组save的基址存放在s6中,则生成的MIPS汇编代码如下:loop: sll t1,s3, 2 #R [ tl]←R [s3 ]<<2,即 R [t1]=i*4add t1, t1, s6 #R [ t1]←R [ t1]+R [s6] ,即 R [t1] =Address of save [i]t0, 0 (t1) #R [t0]←M [R [t1] +0], gp R[t0] =save [i]bne . t0,s5f exit #if R[t0]≠R[s5] then goto exitaddi s3, s3,1 #R [s3]←R [s3]+1,即 i=i+lj loop #goto loopexit;假设从loop处开始的指令序列存放在内存80000处,则上述循环对应的MIPS机器码如图5—1所示。
根据上述叙述,回答下列问题,要求说明理由或给出计算过程。t0和s6的编号各为多少?

答案: 正确答案:从图5—1中第3和第4条指令可以看出,$t0的编号为8,从第2条指令可以看出$s6的编号为22。
题目列表

你可能感兴趣的试题

问答题

表5—1给出了某工程各工序之间的优先关系和各工序所需的时间(其中“ ”表示无先驱工序),请完成以下各题:
求出关键路径并指明完成该工程所需的最短时间。

答案: 正确答案:求所有活动的最早发生时间e、最迟发生时间l和时间余量1—e。 e (A) =ve (v1...
问答题

假设某计算机的主存地址空间大小为64KB,采用字节编址方式。其Cache数据区容量为4KB,采用4路组相联映射方式、LRU替换和回写(write back)策略,块大小为64B,并且每块设置了1位有效位。请问:该Cache的总容量有多少位?

答案: 正确答案:因为采用写回策略,所以Cache每行中要有1个修改位;因为每组有4行,所以每行有两位LRU位。此外,每行还有6...
问答题

在下列代码中,有3个进程Pl、P2和P3,它们使用了字符输出函数putc来进行输出(每次输出一个字符),并使用了两个信号量L和R来进行进程间的同步。请问:这组进程在运行时,最后打印出来了多少个“D”字符?

答案: 正确答案:最后打印了3个字符“D”。因为输出“D”的进程只有P3,而P3只有在Pl进程运行完之后才能运行,又L值为3,故...
微信扫码免费搜题