文章
314
粉丝
1
获赞
107
访问
61.6k

评分及理由
(1)得分及理由(满分2分)
第一问:计算f(10)需要调用函数f1多少次?学生回答“10次”,正确。得1分。
第二问:执行哪条指令会递归调用f1?学生回答“执行第20条指令”。错误,应为第16行的call指令。第20条是jmp指令,用于跳转到函数结尾,不是递归调用。扣1分。
本小题得分:1分。
(2)得分及理由(满分2分)
第一问:哪条指令是条件转移指令?学生回答“第12条指令”,正确。得1分。
第二问:哪几条指令一定会使程序跳转执行?学生第一次识别回答不完整,第二次识别回答“第14条和第16条和第2条”。第14条(sub)是算术运算,不会跳转;第2条未给出,且从上下文看可能识别错误;第16条(call)正确。标准答案为第16行call、第20行jmp、第30行ret。学生答案中仅call正确,且包含错误指令。扣1分。
本小题得分:1分。
(3)得分及理由(满分4分)
第一问:第17行指令的虚拟地址?学生回答“0040102A”,正确。得1分。
第二问:偏移量是多少?学生回答“-29H”,计算过程有误。其描述“下一条指令地址为(PC)+4+偏移量=00401004H”与标准计算不符。正确偏移量应为FFFFFFD6H。扣1分。
第三问:大端还是小端?学生回答“小端方式”,正确。得1分。
本小题得分:2分。
(4)得分及理由(满分4分)
第一问:为什么两者不相等?学生回答“发生了溢出”,正确。得2分。
第二问:如何修改?学生回答“将int f1(int n)全部改为long long类型数据,变量和返回类型”,思路正确,但表述不够精确(如未明确说明返回值类型和参数类型均改为long long)。考虑到核心思想正确,不扣分。得2分。
本小题得分:4分。
(5)得分及理由(满分4分)
第一问:满足什么条件时OF=1?学生回答“高32位进位位为1,低32位进位位为0”,此描述不准确。OF=1的条件是乘积的高33位(即符号位及扩展位)不全为0且不全为1。学生答案未准确描述补码乘法溢出条件。扣2分。
第二问:加一条什么指令?学生回答“加一条溢出异常中断处理程序”,基本正确,但更准确的应为“溢出自陷指令”或类似指令(如into)。考虑到意思接近,给1分。
本小题得分:1分。
题目总分:1+1+2+4+1=9分
登录后发布评论
暂无评论,来抢沙发