文章
229
粉丝
0
获赞
2
访问
34.4k

评分及理由
(1)得分及理由(满分2分)
第一问:学生回答"2^10-1=1023次"错误。计算f(10)需要调用函数f1共10次(f(10),f(9),...,f(1)),学生计算错误,扣1分。
第二问:学生回答"jle f1+35h"错误。执行第16行的call指令会递归调用f1,学生回答的是条件跳转指令,扣1分。
本小题得0分。
(2)得分及理由(满分2分)
第一问:学生回答"Cmp dword ptr [ebp+8],1"是条件转移指令错误。cmp是比较指令,不是转移指令,正确的条件转移指令是第12行的jle指令,扣1分。
第二问:学生回答"jmp f1+3Ah"一定会跳转执行正确,得1分。但漏答了call指令和ret指令也会使程序跳转执行。
本小题得1分。
(3)得分及理由(满分4分)
第一问:学生计算第17行虚拟地址为0040102AH正确,得1分。
第二问:学生没有给出偏移量的计算过程,只写了call指令的机器码,没有计算过程,扣1分。
第三问:学生回答"采用小端方式"正确,得1分。
本小题得2分。
(4)得分及理由(满分4分)
第一问:学生回答"返回值的表示范围小于正确结果"基本正确,但没有具体说明int型的表示范围,得1分。
第二问:学生建议"将源程序中int型改为long型"正确,但在32位系统中long通常也是32位,应改为long long型更合适。考虑到学生思路正确,不扣分,得2分。
本小题得3分。
(5)得分及理由(满分4分)
第一问:学生回答"OF=C_out⊕C_out-1"和"最高位进位与次高位进位不相等时OF=1"是针对补码加法的溢出判断,不是乘法的溢出判断,扣2分。
第二问:学生回答"跳转指令,跳转到中断处理程序"过于笼统,没有具体说明是溢出自陷指令,扣1分。
本小题得1分。
题目总分:0+1+2+3+1=7分
登录后发布评论
暂无评论,来抢沙发