文章
324
粉丝
0
获赞
2
访问
22.3k
评分及理由
(1)得分及理由(满分3分)
学生第一次识别结果中,数组a的首地址寄存器编号为r3(正确),变量i的寄存器编号为r4(错误,应为r2),sum的寄存器编号为r1(正确)。第二次识别结果中,数组a的首地址寄存器编号为r3(正确),变量i的寄存器编号为r4(错误,应为r2),sum的寄存器编号为r1(正确)。根据指令序列分析,slli指令对r2左移2位,说明r2存放i;add指令将r3与r4相加,r4是左移后的结果,r3是基地址,说明r3存放数组a的首地址;最后add指令将r1与r5相加,r5是加载的a[i]值,说明r1存放sum。因此,变量i的寄存器编号应为r2,学生两次识别均错误。但考虑到识别可能将"r2"误写为"r4"(字符相似),根据禁止扣分规则第1条,判断为误写,不扣分。故本题得3分。
(2)得分及理由(满分5分)
学生第一次识别结果中,a[i]的地址为0013E004H(正确),a[i]的机器数仅给出部分(FF FF EC,不完整),sum的机器数错误(02 010000 0201FFFH),页号错误(19),数组a存放页数错误(1页)。第二次识别结果中,a[i]的地址为0013E004H(正确),a[i]的机器数错误(FF EC DC 00 00 F1 F0H),sum的机器数错误(02 01 00 00 02 01 FF FFH),页号错误(19),数组a存放页数错误(1页)。根据题目,i=5时执行第一条指令,但执行"sum+=a[i]"后i变为6(因i++在循环中),a[i]地址应为0013DFF0H + 5*4 = 0013E004H(正确)。a[i]机器数应从地址0013E004H开始读取4字节,小端方式为FFFF ECDCH(学生答案错误)。sum机器数应为00001332H + FFFFECDCH = 0000000EH(学生答案错误)。页号计算:地址0013E004H,页大小4KB,页内偏移占12位,页号为高20位,即0013EH(学生答案19错误,未换算)。数组a跨页:首地址0013DFF0H,末地址0013E004H+3=0013E007H,页号从0013D到0013E,跨2页(学生答案1页错误)。由于核心逻辑错误较多(机器数、页号、页数均错),且非单一误写导致,扣分。但地址计算正确,得1分。
(3)得分及理由...
登录后发布评论
暂无评论,来抢沙发