文章
117
粉丝
0
获赞
0
访问
5.5k
1)M为CISC。M的指令长短不一,不符合RISC指令系统特点
2)f1的机器代码占96B。因为f1的第一条指令“push ebp”所在的虚拟地址为00401020H,最后一条指令“ret”所在的虚拟地址为0040107FH,所以,f1的机器指令代码长度为0040107FH-00401020H+1=60H=96字节。
3)CF=1。cmp指令实现i与n-1的比较功能,进行的是减法运算。在执行f1(0)过程中,n=0,当i=0时,i=00000000H,并且n-1=FFFF FFFFH。因此,当执行第20条指令时,在补码加/减运算器中执行“0减FFFF FFFFH”的操作,即00000000H+00000000H+1=00000001H,此时,进位输出C=0,减法运算时的借位标志CF=C⊕1=1。
4)f2中不能用shl指令实现powerx2。因为shl指令用来将一个整数的所有有效数位作为一个整体左移;而f2中的变量power是float型,其机器数中不包含最高有效数位,但包含了阶码部分,将其作为一个整体左移时并不能实现“乘2”的功能,因而f2中不能用shl指令实现powerx2。
评分及理由
(1)得分及理由(满分2分)
得分:2分
理由:学生正确判断了M为CISC,并给出了合理的解释,符合标准答案。
(2)得分及理由(满分2分)
得分:2分
理由:学生正确计算了f1的机器指令代码长度,并给出了详细的计算过程,与标准答案一致。
(3)得分及理由(满分3分)
得分:3分
理由:学生正确计算了CF的值,并给出了详细的计算过程,逻辑清晰,与标准答案一致。
(4)得分及理由(满分3分)
得分:3分
理由:学生正确解释了为什么f2中不能用shl指令实现power*2,并给出了合理的解释,与标准答案一致。
题目总分:2+2+3+3=10分
登录后发布评论
暂无评论,来抢沙发