• 2021-04-14 问题

    中国大学MOOC:某程序中有如下循环代码段P:for(i=0;i<N;i++)sum+=A[i];假设编译时变量sum和i分别分配在寄存器R1和R2中。常量N在寄存器R6中,数组A的首地址在寄存器R3中,程序段P的起始地址为08048100H,对应汇编代码和机器代码如下表所示:编号地址机器码汇编码操作注释108048100H00022080Hloop:sllR4,R2,2(R2)<<2→R4208048104H00083020HaddR4,R4,R3(R4)+(R3)→R4308048108H8C850000HloadR5,0(R4)((R4)+0)→R540804810CH00250820HaddR1,R1,R5(R1)+(R5)→R1508048110H20420001HaddiR2,R2,1(R2)+1→R2608048114H1446FFFAHbneR2,R6,loopIf(R2)≠(R6)gotoloop如果执行上述代码的计算机采用32位定长指令字,其中的分支指令bne格式如下:31:2625:2120:1615:0OPRsRdoffset其中的OP为操作码,Rs和Rd为寄存器编号,offset为偏移量(用补码表示),请回答下列问题:计算机的存储器编址单位是()A.8位B.16位C.32位D.64位--限填大写字母:A、B、C或者D

    中国大学MOOC:某程序中有如下循环代码段P:for(i=0;i<N;i++)sum+=A[i];假设编译时变量sum和i分别分配在寄存器R1和R2中。常量N在寄存器R6中,数组A的首地址在寄存器R3中,程序段P的起始地址为08048100H,对应汇编代码和机器代码如下表所示:编号地址机器码汇编码操作注释108048100H00022080Hloop:sllR4,R2,2(R2)<<2→R4208048104H00083020HaddR4,R4,R3(R4)+(R3)→R4308048108H8C850000HloadR5,0(R4)((R4)+0)→R540804810CH00250820HaddR1,R1,R5(R1)+(R5)→R1508048110H20420001HaddiR2,R2,1(R2)+1→R2608048114H1446FFFAHbneR2,R6,loopIf(R2)≠(R6)gotoloop如果执行上述代码的计算机采用32位定长指令字,其中的分支指令bne格式如下:31:2625:2120:1615:0OPRsRdoffset其中的OP为操作码,Rs和Rd为寄存器编号,offset为偏移量(用补码表示),请回答下列问题:计算机的存储器编址单位是()A.8位B.16位C.32位D.64位--限填大写字母:A、B、C或者D

  • 1