文章
63
粉丝
0
获赞
0
访问
3.1k
1.10次,第16条
2.第12条是条件转移,16和30跳转执行
3.0040102AH;偏移量为004012AH-0040100H=2AH,且是向前偏移,因此偏移量是-42;小端方式
4.因为超过了int32位整数的表示范围,改为float
5.高31位全不为0,不发生溢出;应该加内陷指令
评分及理由
(1)得分及理由(满分2分)
学生答案:10次,第16条
评分:2分
理由:第一问正确,计算f(10)需要调用f1共10次;第二问正确,第16行call指令会递归调用f1。与标准答案一致。
(2)得分及理由(满分2分)
学生答案:第12条是条件转移,16和30跳转执行
评分:1分
理由:第一问正确,第12行jle是条件转移指令;第二问不完全正确,学生只答出了第16行call和第30行ret一定会跳转,但遗漏了第20行jmp指令。根据标准答案,第20行jmp也一定会使程序跳转执行。因此扣1分。
(3)得分及理由(满分4分)
学生答案:0040102AH;偏移量为004012AH-0040100H=2AH,且是向前偏移,因此偏移量是-42;小端方式
评分:2分
理由:第一问正确,第17行虚拟地址为0040102AH;第二问错误,学生计算偏移量时写错了地址(004012AH应为0040102AH),且计算过程错误,偏移量应为00401000H-0040102AH=FFFFFFD6H,而不是2AH或-42;第三问正确,判断为小端方式。第一问和第三问各得1分,第二问得0分,共2分。
(4)得分及理由(满分4分)
学生答案:因为超过了int32位整数的表示范围,改为float
评分:2分
理由:第一问正确,指出了是因为int32位表示范围不足导致溢出;第二问不完全正确,虽然改为float可以扩大表示范围,但float是浮点数,会损失精度,而f(13)是整数,标准答案建议改为long long(整型)更为合理。因此第一问得2分,第二问得0分,共2分。
(5)得分及理由(满分4分)
学生答案:高31位全不为0,不发生溢出;应该加内陷指令
评分:1分
理由:第一问错误,学生描述"高31位全不为0"不准确,标准答案应为乘积的高33位为非全0或非全1时OF=1;第二问基本正确,提到了加内陷指令(即溢出自陷指令),但表述不够准确...
登录后发布评论
暂无评论,来抢沙发