文章
137
粉丝
5
获赞
2
访问
5.4k
评分及理由
(1)得分及理由(满分2分)
学生第一次识别回答“调用10次”,正确;第二次识别未提及次数,但第一次正确。关于递归调用指令,第一次识别回答“执行16处call f1会调用f1”,正确;第二次识别也提到“16行call f1会调用子”,正确。因此得2分。
(2)得分及理由(满分2分)
学生第一次识别回答“jile为条件转移指令”,应为“jle”,但根据上下文判断为识别误写(jile→jle),不扣分;第二次识别未明确条件转移指令,但第一次正确。关于一定会跳转的指令,第一次识别回答“call f1, jmp f1会使程序跳到”,但遗漏了ret指令;第二次识别提到“16行Call f1”和“20H为f1传递参数”,但表述混乱且未正确指出所有跳转指令。因此扣1分,得1分。
(3)得分及理由(满分4分)
学生第一次识别未给出第17行虚拟地址和偏移量计算,且错误回答“M采用汇编语言”;第二次识别提到“虚拟地址为00401068”,但未给出计算过程,且地址错误(应为0040102A)。未回答偏移量计算和小端方式判断。因此得0分。
(4)得分及理由(满分4分)
学生第一次识别回答“f(13)为溢出结果”,正确;但建议修改为“double型参数”,不完全准确(标准答案为long long等整型)。第二次识别错误认为“f(15)=6227020800在int型整数范围内”,但正确指出“溢出错误”并建议“改为double型整数”。因此扣1分(修改类型不精确),得3分。
(5)得分及理由(满分4分)
学生两次识别均未回答OF=1的条件;但提到“添加溢出检查程序”或“异常检查程序”,部分正确(标准答案为溢出自陷指令)。因此扣2分(未说明条件),得2分。
题目总分:2+1+0+3+2=8分
登录后发布评论
暂无评论,来抢沙发