文章
145
粉丝
0
获赞
0
访问
8.2k

评分及理由
(1)得分及理由(满分2分)
学生回答“调用f1 10次”和“执行Call指令会调用f1”均正确。第一问考察递归调用次数,f(10)需要从n=10递归到n=1,共10次调用。第二问明确指出了第16行的call指令。答案与标准答案一致,得2分。
(2)得分及理由(满分2分)
学生回答“jle指令”是条件转移指令,以及“Call, jmp, ret指令”一定会使程序跳转执行,完全正确。标准答案中列出的就是这四条指令。得2分。
(3)得分及理由(满分4分)
第一问:学生回答第17行虚拟地址为“0040102AH”,计算正确,得1分。
第二问:学生回答“OFFSET = FFFFFD6H”或“OFFSET = FFFFFFFD6H”。标准答案为“FFFFFFD6H”。学生的第一个识别结果“FFFFFFD6H”完全正确;第二个结果“FFFFFD6H”少了一个“F”,但根据上下文(小端方式、偏移量计算)可判断为识别错误,且核心逻辑(偏移量为负值)正确,不扣分。但学生给出的计算过程“0040102AH OFFSET = 00401000H”表述不清晰,未体现“目标地址-(PC)”的计算逻辑。考虑到结果正确且可能是识别导致的表述问题,给予1分。
第三问:学生回答“采用小端方式”,正确,得1分。
本小题总计得3分。扣1分原因:第二问未给出清晰的计算过程(偏移量=目标地址-下条指令地址),答案虽对但过程缺失。
(4)得分及理由(满分4分)
第一问:学生回答“f1(13)返回的int值溢出了”,正确指出了溢出是根本原因,得2分。
第二问:学生回答“可以将int改为long long类型”,这是最直接有效的修改方法之一,与标准答案一致,得2分。
本小题得4分。
(5)得分及理由(满分4分)
第一问:学生回答“高3位不全为0或不全为1时,OF引”(第二次识别为“高3位不全为0或不全为1时,0F21”)。标准答案为“乘积的高33位为非全0或非全1”。学生的回答“高3位”是错误的,应为“高33位”。这是一个关键性的逻辑错误,扣2分。
第二问:学生回答“加一条陷入指令”,这与标准答案“溢出自陷指令”意思一致,正确,得2分。
本小题总计得2分。
题目总分:2+2+3+4+2=13分
登录后发布评论
暂无评论,来抢沙发