文章

266

粉丝

0

获赞

0

访问

27.8k

头像
2019年计算机学科专业基础综合试题 - 第45题回答
计算机组成原理
发布于2025年9月22日 10:34
阅读数 77

1):需要调用函数10次,执行call f1 会递归调用f1;

2):jle f1+35h是条件转移指令,jmp f1+3Ah,call f1,ret一定会让程序跳转执行;

3):0040102A是第17行指令的虚拟地址;此时pc里的内容是0040102A,它要跳转到00401000,所以偏移量应该是00401000-0040102A=FFFFFFD6;

此时为小端存储;

4):6227020800已经超出int表示的范围此时f1执行中发生了溢出导致结果错误;将int改为double;

5):当高32位不全是低32位的第32位所表示的数时,此时OF=1;要使CPU在发生溢出时转异常处理,编译器应在imul指令后应加一条自陷指令;


评分及理由

(1)得分及理由(满分2分)

第一问回答正确(调用10次),第二问回答正确(call指令递归调用)。得2分。

(2)得分及理由(满分2分)

第一问回答正确(jle是条件转移指令),第二问回答正确(jmp、call、ret一定会跳转)。得2分。

(3)得分及理由(满分4分)

第一问(虚拟地址)计算正确(0040102A),得1分;第二问(偏移量)计算正确(FFFFFFD6),得1分;第三问(大小端)回答正确(小端),得1分;但偏移量计算过程未给出(标准答案要求给出计算过程),扣1分。本小题共得3分。

(4)得分及理由(满分4分)

第一问回答正确(溢出导致结果错误),得2分;第二问修改方案(改为double)可行但非最优(标准答案为long long等整型,double有精度损失),扣1分。本小题共得3分。

(5)得分及理由(满分4分)

第一问回答不准确(未明确高33位是否全0或全1),得1分;第二问回答正确(自陷指令),得2分。本小题共得3分。

题目总分:2+2+3+3+3=13分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发