文章
183
粉丝
0
获赞
0
访问
11.7k

评分及理由
(1)得分及理由(满分2分)
第一问:学生回答“调用3次f1”,这是错误的。计算f(10)需要递归调用10次(f(10)到f(1))。第二问:学生回答“执行第20条指令”,这是错误的,第20条是jmp指令,用于跳转到函数返回前,递归调用发生在第16行的call指令。两问均错,扣2分。
得分:0分
(2)得分及理由(满分2分)
第一问:学生回答“第12条”,正确,第12行jle是条件转移指令。第二问:学生回答“第16、20条”,缺少了第30行的ret指令。ret指令一定会使程序跳转执行(返回调用处),因此答案不完整。扣1分。
得分:1分
(3)得分及理由(满分4分)
第一问:学生回答虚拟地址为“0040102C”,错误。第16行指令地址为00401025H,指令长度为5字节,下一条指令地址应为0040102AH。第二问:偏移量计算错误,学生计算为2CH,正确应为FFFFFFD6H。第三问:学生回答“小端”,正确。第一问和第二问错误,各扣2分,第三问正确得2分。
得分:2分
(4)得分及理由(满分4分)
第一问:学生回答“因为发生了溢出”,正确。第二问:学生未给出修改方法,答案不完整。标准答案要求指出将返回值类型改为更大范围类型(如long long)。扣2分。
得分:2分
(5)得分及理由(满分4分)
第一问:学生回答“高、低32位的乘积向上进1位”,描述不准确。标准答案应为“乘积的高33位为非全0或非全1”。第二问:学生回答“自陷指令”,基本正确,但未具体说明是“溢出自陷指令”或类似指令(如into)。第一问扣2分,第二问得2分。
得分:2分
题目总分:0+1+2+2+2=7分
登录后发布评论
暂无评论,来抢沙发