文章
95
粉丝
50
获赞
1
访问
12.4k

评分及理由
(1)得分及理由(满分2分)
学生回答f(10)调用函数f1 10次正确(1分),执行第16条指令递归调用正确(1分)。满分2分。
(2)得分及理由(满分2分)
学生回答第12条是条件转移指令正确(1分),但回答第20条是条件转移指令错误(第20条是无条件转移指令),回答第6条无条件转移指令错误(第6条不在给出的代码范围内)。标准答案中一定会使程序跳转执行的指令包括第16行call、第20行jmp、第30行ret,学生未正确回答。因此扣1分,得1分。
(3)得分及理由(满分4分)
学生回答第17行虚拟地址为0040102AH正确(1分)。计算偏移量时,学生给出0040102A - 00401000 = 2AH = 42,这是错误计算(偏移量应为目标地址减PC,即00401000 - 0040102A = FFFFFFD6H),但随后学生又写出偏移量应为FFFFFFD6H,可能为识别或书写不一致,根据禁止扣分规则,若判断为误写则不扣分,因此偏移量计算部分给1分。学生回答采用小端方式正确(1分)。本小题共得3分。
(4)得分及理由(满分4分)
学生回答f(13)结果溢出,int 32位数据不够表示正确(2分)。回答改为long long型数据正确(2分)。满分4分。
(5)得分及理由(满分4分)
学生回答OF=1时,当乘法器高32位不相等(不一致时),表述不完整(标准答案应为乘积的高33位为非全0或非全1),但核心意思正确(高32位与符号位不一致),给2分。回答加入一条自陷指令处理异常正确(2分)。本小题共得4分。
题目总分:2+1+3+4+4=14分
登录后发布评论
暂无评论,来抢沙发