文章
126
粉丝
0
获赞
3
访问
21.6k
评分及理由
(1)得分及理由(满分3分)
学生答案中数组a的首地址寄存器编号为03H(正确),变量i的寄存器编号为04H(错误,应为02H),sum的寄存器编号为01H(正确)。根据指令序列分析:slli指令操作r2(i左移2位),add指令使用r3(数组首地址)和r4(偏移地址),lw指令加载到r5(临时值),add指令将r1(sum)与r5相加。因此i对应r2(编号02H),但学生误写为04H。核心逻辑错误,扣1分。得2分。
(2)得分及理由(满分5分)
学生答案中a[i]地址为0013 E000H(错误,正确应为0013 E004H),a[i]机器数为0000 F1F0H(错误,正确应为FFFF ECDCH),sum机器数为0001 0522H(错误,正确应为0000 000EH),页号0013EH(正确),页数2页(正确)。地址计算错误(未考虑i=5时偏移20字节,基地址0013 DFF0H + 20 = 0013 E004H),a[i]值未按小端方式正确读取(应从0013 E004H起读4字节:DC EC FF FF → FFFF ECDCH),sum计算错误(0000 1332H + FFFF ECDCH = 0000 000EH,溢出忽略)。但页号和页数判断正确。部分逻辑正确,但核心计算错误,扣3分。得2分。
(3)得分及理由(满分2分)
学生答案中slli指令机器码第一次识别为00412213H(错误),修改后为00212213H(正确);short类型修改为slli r4, r2, 1(正确)。机器码正确(操作码0010011,funct3=001,rd=00100,rs1=00010,shamt=00010,imm=0000000 → 00000000001000010010001000010011 = 00212213H),short类型左移1位正确。但第一次识别错误可能为误写,根据规则不扣分。得2分。
题目总分:2+2+2=6分
登录后发布评论
暂无评论,来抢沙发