专注在线职业教育23年
下载APP
小程序
希赛网小程序
导航

2019年计算机考研408真题(45-46)

责编:胡陆 2023-08-09
考研资料领取

考研408计算机统考分两部分,80分单项选择题和70分大题,满分150分。单项选择题总共80分,每小题2分,40小题。单项选择题,1-10题是数据结构部分;11-22题是计算机组成原理部分;23-32题是操作系统部分;33-40题是计算机网络部分。综合应用题70分,共7小题,41和42题是数据结构题,分值各为10分和15分;43和44题是计算机组成原理题,各占8分和13分;45和46题是操作系统题,各占7分和8分;47题是计算机网络题,分值为9分。为了方便大家更好的来备考,小编为大家整理了“2019年408计算机考研真题”,希望可以帮助大家更好的复习。

2019年考研408计算机统考考研真题

二、综合应用题(第41~47小题,共70分)

45、(16分)已知f(n)=n!=n×(n-1)×(n-2)×⋯×2×1,计算f(n)的C语言函数f1的源程序(阴影部分)及其在32位计算机M上的部分机器级代码如下:

int f1(int n){

00401000 55 push ebp

… … …

if(n>1)

00401018 83 7D 08 01 cmp dword ptr [ebp+8],1

0040101C 7E 17 jle f1+35h (00401035)

return n*f1(n-1);

13 0040101E 8B 45 08 mov eax, dword ptr [ebp+8]

14 00401021 83 E8 01 sub eax, 1

15 00401024 50 push eax

16 00401025 E8 D6 FF FF FF call f1 (00401000)

… … …

19 00401030 0F AF C1 imul eax, ecx

20 00401033 EB 05 jmp f1+3Ah (0040103a)

else return 1;

21 00401035 B8 01 00 00 00 mov eax, 1

}

26 00401040 3B EC cmp ebp, esp

… … …

30 0040104A C3 ret

其中,机器级代码行包括行号、虚拟地址、机器指令和汇编指令,计算机M按字节编址,int型数据占32位。请回答下列问题:

(1)计算f(10)需要调用函数f1多少次?执行哪条指令会递归调用f1?

(2)上述代码中,哪条指令是条件转移指令?哪几条指令一定会使程序跳转执行?

(3)根据第16行的call指令,第17行指令的虚拟地址应是多少?已知第16行的call指令采用相对寻址方式,该指令中的偏移量应是多少(给出计算过程)?已知第16行的call指令的后4字节为偏移量,M是采用大端方式还是采用小端方式?

(4)f(13)=6227020800,但f1(13)的返回值为1932053504,为什么两者不相等?要使f1(13)能返回正确的结果,应如何修改f1的源程序?

(5)第19行的imul指令(带符号整数乘)的功能是R[eax]←R[eax]×R[ecx],当乘法器输出的高、低32位乘积之间满足什么条件时,溢出标志OF=1?要使CPU在发生溢出时转异常处理,编译器应在imul指令后应加一条什么指令?

46、(7分)对于题45,若计算机M的主存地址为32位,釆用分页存储管理方式,页大小为4KB,则第1行的push指令和第30行的ret指令是否在同一页中(说明理由)?若指令Cache有64行,采用4路组相联映射方式,主存块大小为64B,则32位主存地址中,哪几位表示块内地址?哪几位表示Cache组号?哪几位表示标记(tag)信息?读取第16行的call指令时,只可能在指令Cache的哪一组中命中(说明理由)?

试题练习:考试科目在线试题库

备考资料:免费课程学习资料包

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
相关阅读
查看更多

加群交流

公众号

客服咨询

考试资料

每日一练

咨询客服