文章
15
粉丝
0
获赞
1
访问
2.7k
1.jmp、jle、jl指令会发生跳转,采用相对寻址方式,地址首先PC自增,00401008+2=0040100AH,之后再修改PC值为00401031H
2.SF=0,OF=0,ZF=0,SF⊕ZF
3.shl的功能是将数据左移两位,实现i指针偏移到下一个数组元素的功能。addl指令是将其与数组首元素地址相加。ecx存储的是sum变量值, (%eax)采用间接寻址方式,按字节编址,080040A0H
4 CISC,因为各条指令长度不同
评分及理由
(1)得分及理由(满分4分)
得分:2分
理由:学生正确识别了jmp、jle、jl三条跳转指令(1分),并指出采用相对寻址方式(1分)。但跳转目标地址计算过程有误:指令3的虚拟地址为00401008H(而非00401008+2),指令长度为2字节,取指后PC应为00401008H+2=0040100AH(学生误写为0040100AH,但计算正确),相对偏移量21H(即+33)应加上PC值0040100AH得到0040102BH(标准答案为00401031H),学生错误地直接给出结果而未计算过程,且结果错误。因此扣2分。
(2)得分及理由(满分3分)
得分:1分
理由:学生正确给出SF=0、OF=0、ZF=0(1分)。但跳转逻辑表达式错误:jle条件应为(SF ⊕ OF) | ZF,学生写为SF⊕ZF(漏掉OF且逻辑运算符错误),扣2分。
(3)得分及理由(满分7分)
得分:3分
理由:学生部分正确:shll左移2位实现i×4(1分);addl与基地址相加(1分);(%eax)间接寻址方式正确(1分);按字节编址正确(1分,但未明确说明理由)。但错误包括:shll功能描述不完整(未明确等价于乘以4);addl基地址错误(应为0804A010H而非学生未写全);ecx存储内容错误(应为A[i]的值而非sum);A[10]地址计算错误(未给出过程且结果080040A0H错误)。因此扣4分(功能描述不准确扣1分,ecx内容错误扣1分,地址计算错误扣2分)。
(4)得分及理由(满分2分)
得分:2分
理由:正确判断为CISC(1分),理由是指令长度可变(1分),符合标准答案。
题目总分:2+1+3+2=8分
登录后发布评论
暂无评论,来抢沙发