文章
238
粉丝
0
获赞
3
访问
32.7k
评分及理由
(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分)
学生答案:第17行指令虚拟地址为0040102AH;偏移量计算过程正确,结果为FFFFFFD6H;判断为小端方式。
标准答案:第17行指令虚拟地址为0040102AH;偏移量=00401000H-0040102AH=FFFFFFD6H;根据偏移量存储格式判断为小端方式。
评分:学生答案与标准答案完全一致。
得分:4分
(4)得分及理由(满分4分)
学生答案:f(13)超出了int能表示的范围;使用long long类型替换原来的int类型。
标准答案:f(13)的值超出了32位int型数据的表示范围;将函数f1的返回值类型改为long long(或具有更大表示范围的类型)。
评分:学生答案正确指出了溢出原因和修改方法。
得分:4分
(5)得分及理由(满分4分)
学生答案:符号位与符号的下一位结果不同时OF=1,相同时OF=0;应在imul指令后加自陷指令。
标准答案:乘积的高33位为非全0或非全1时OF=1;应在imul指令后加溢出自陷指令。
评分:学生答案对OF=1的条件描述不够精确(标准答案要求高33位的判断,学生只提到了符号位和下一位),但基本思路正确;对需要添加的指令类型回答正确。
评分:扣1分(OF条件描述不精确)
得分:3分
题目总分:2+2+4+4+3=15分
登录后发布评论
暂无评论,来抢沙发