(10分)在按字节编址的计算机 M 上,题43中f1的部分源程序与对应的机器级代码(包括指令的虚拟地址)如下:
intf1(unsignedn)
1 00401020 55 pushebp
…… …… ……
for(unsignedi=0;i<=n-1;i++)
…… …… ……
20 0040105E 394D F4 cmpdwordptr[ebp-0Ch],ecx
…… …… ……
{power*=2;
…… …… ……
23 00401066 D1E2 shledx,1
…… …… ……
returnsum;
…… …… ……
35 0040107F C3 ret
}
其中,机器级代码行包括行号、虚拟地址、机器指令和汇编指令。请回答下列问题:
(1)计算机 M 是RISC还是CISC? 为什么?
(2)f1的机器指令代码共占多少字节? 要求给出计算过程。
(3)第20条指令cmp通过i减n-1实现对i和n-1的比较。执行f1(0)过程中,当i=0时,cmp指令执行后,进/借位标志CF的内容是什么? 要求给出计算过程。
(4)第23条指令shl通过左移操作实现了power*2运算,在f2中能否也用shl指令实现power*2? 为什么?
查看答案和解析【26考研辅导课程推荐】:26考研集训课程,VIP领学计划,26考研VIP全科定制套餐(公共课VIP+专业课1对1) , 这些课程中都会配有内部讲义以及辅导书和资料,同时会有教研教辅双师模式对大家进行教学以及督学,并配有24小时答疑和模拟测试等,可直接咨询在线客服老师领取大额优惠券。
启航教育热门私房课
MORE