文章
8
粉丝
0
获赞
0
访问
3.8k
(1)3 10 14 可能发生跳转,采用了相对寻址,00401008+2+21=00401031
(2)SF为1,OF为0,ZF为0 逻辑表达式为SF+ZF
(3)第5条指令shll是把变量i乘4,第6条指令addl是将跳跃长度与数组基址相加得到操作数地址,第7条指令movl是将sum更新后放到数组里去。采用了寄存器间接寻址。按字节编址。08000A0h
(4)CISC,因为指令不定长
评分及理由
(1)得分及理由(满分4分)
得分:3分
理由:学生正确识别了可能发生跳转的指令(3、10、14)和寻址方式(相对寻址)。跳转目标地址计算过程基本正确(00401008+2+21=00401031),但指令地址应为00401008(而非0040100E),且未说明偏移量21为十六进制(21H=33),计算过程描述不够严谨,扣1分。
(2)得分及理由(满分3分)
得分:0分
理由:sum=150(正数)时,SF应为0(非负),学生错误回答SF=1;逻辑表达式应为(SF⊕OF)|ZF,学生错误回答SF+ZF(逻辑错误,且未考虑溢出标志OF),完全不符合标准答案,故不得分。
(3)得分及理由(满分7分)
得分:3分
理由:
- 指令功能分析:学生部分正确(shll乘4、addl计算地址),但movl功能描述错误(“将sum更新后放到数组”应为“读取A[i]到ecx”),扣2分;
- ecx内容未明确回答(应为A[i]的值),扣1分;
- 寻址方式(寄存器间接寻址)正确,得1分;
- 编址方式(字节编址)正确,得1分;
- A[10]地址计算错误(08000A0h格式混乱,正确应为0804A038H),扣2分。
(4)得分及理由(满分2分)
得分:2分
理由:正确判断为CISC,理由(指令不定长)合理,符合标准答案。
题目总分:3+0+3+2=8分
登录后发布评论
暂无评论,来抢沙发