文章
29
粉丝
0
获赞
0
访问
1.1k
第3、10、14条指令可能会发生跳转;采用变址寻址方式;jmp=00401008H+02H+21=00401031H;
SF=1,OF=0,ZF=0;跳转的逻辑表达式:SF+ZF
指令5是将变量$i\times4$,指令6是将$i\times4+080040A0H$,表示数组$A[i]$的地址,指令7是将A[i]的数存入ecx中,ecx是数组A[i]的元素;(%ecx)采用了寄存器间接寻址;计算机M是按字节编址;A[0]起始地址为:080040A0H.
计算机M是CISC。因为每个指令的字长不一样,如果是RISC的话,每个指令的字长就是一样的。
评分及理由
(1)得分及理由(满分4分)
得分:2分
理由:学生正确识别了可能跳转的指令(第3、10、14条),得1分;但寻址方式回答错误(应为相对寻址而非变址寻址),扣1分;jmp跳转目标地址计算过程部分正确(正确使用了当前指令地址和偏移量,但指令地址和偏移量数值有误:实际指令地址应为00401008H,指令长度为2字节,PC更新后为0040100AH,偏移量21H为33,计算应为0040100AH+21H=0040102BH,但标准答案为00401031H,说明偏移量理解错误),扣1分。最终得2分。
(2)得分及理由(满分3分)
得分:0分
理由:标志位判断全部错误(sum=150>100,为正数且非零,正确标志应为SF=0、OF=0、ZF=0,学生回答SF=1错误);跳转逻辑表达式错误(jle条件应为(SF⊕OF)|ZF,学生回答SF+ZF不符合逻辑运算规则且表达式错误)。故不得分。
(3)得分及理由(满分7分)
得分:5分
理由:指令功能分析基本正确(指令5实现i×4,指令6计算A[i]地址,指令7读取A[i]值),得3分;ecx内容回答正确(存储A[i]的值),得1分;寻址方式回答正确(寄存器间接寻址),得1分;编址方式回答正确(按字节编址),得1分;但A[0]起始地址计算错误(学生回答080040A0H,但标准答案中基址应为080040A0H,且计算无偏移,但学生答案与标准答案基址不一致,标准答案为0804A000H,此处学生可能抄写错误),扣1分。最终得5分。
(4)得分及理由(满分2分)
得分:2分
...
登录后发布评论
暂无评论,来抢沙发