文章
238
粉丝
0
获赞
3
访问
32.5k
评分及理由
(1)得分及理由(满分2分)
学生答案:计算f(10)需要调用函数f1 10次,执行第16条指令会递归调用f1。
标准答案:计算f(10)需要调用函数f1 10次,执行第16行的指令会递归调用f1。
评分:答案完全正确。
得分:2分
(2)得分及理由(满分2分)
学生答案:条件转移指令是第12条;一定会使程序跳转的指令是第16、20、30条。
标准答案:条件转移指令是第12行jle指令;一定会使程序跳转的指令是第16行call、第20行jmp、第30行ret。
评分:答案完全正确。
得分:2分
(3)得分及理由(满分4分)
学生答案:
标准答案:偏移量应为00401000H - 0040102AH = FFFFFFD6H;根据偏移量存储格式(D6 FF FF FF)可判断为小端方式。
评分:第一问正确得1分;第二问根据规则不扣分,得2分;第三问未回答,得0分。
得分:1 + 2 + 0 = 3分
(4)得分及理由(满分4分)
学生答案:f(13)大于int所能表示的范围,导致溢出;修改方法是将int改为long long类型。
标准答案:f(13)超出32位int表示范围,发生溢出;修改返回值类型为long long等更大范围类型。
评分:原因分析正确,修改方法正确。
得分:4分
(5)得分及理由(满分4分)
学生答案:溢出条件为OF = F₃₁ ⊕ F₃₂(即高32位的最高位与低32位的最高位异或);应加一条“自陷指令”。
标准答案:溢出条件为乘积的高33位非全0或非全1;应加一条“溢出自陷指令”。
评分:溢出条件描述不准确(F₃₁ ⊕ F₃₂ 仅是32位乘积溢出判断的一种简化,不适用于64位乘积的完整溢出判断),扣2分;指令名称正确。
得分:2分
题目总分:2+2+3+4+2=13分
登录后发布评论
暂无评论,来抢沙发