文章

35

粉丝

0

获赞

1

访问

4.6k

头像
【2019年】408计算机统考真题模拟考试 - 第45题答案笔记
计算机组成原理
发布于2025年5月15日 09:39
阅读数 92

计算机考研408统考历年真题及答案解析

(1)调用10次,执行第16行的call指令

(2)第12行的jle指令为条件转移指令,ret,jmp,call指令一定会使程序跳转执行

(3)16行指令字长为5字节,应为00401025+0000005=0040102A,采用相对寻址,跳转到00401000处,pc存储下一条指令地址,所以相对偏移量应为0040102A-00401000=0000002A,所以应采用大端方式

(4)阶乘应该全为正数,图中程序为imul,相比无符号整数的表示范围小,可能产生溢出导致结果错误,应将程序中的imul改为umul。

(5)当高32位乘积不全为低32位乘积的符号位时,结果发生溢出,应该添加一个自陷指令


评分及理由

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

得分:2分

理由:答案完全正确,准确指出了调用次数和递归调用的指令位置。

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

得分:2分

理由:答案完全正确,准确指出了条件转移指令和无条件跳转指令。

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

得分:1分

理由:第一问正确,计算了第17行指令的虚拟地址。第二问错误,偏移量计算错误,应为00401000H-0040102AH=FFFFFFD6H,而非0000002A。第三问错误,根据偏移量的存储方式应为小端方式,而非大端方式。

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

得分:1分

理由:第一问未明确指出int型数据的表示范围限制导致溢出。第二问错误,修改方案应为更改返回值类型为更大范围的类型(如long long),而非修改乘法指令为umul。

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

得分:2分

理由:第一问部分正确,但表述不够准确,应为高33位非全0或非全1时OF=1。第二问正确,指出了应添加自陷指令。

题目总分:2+2+1+1+2=8分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发