文章
7
粉丝
0
获赞
0
访问
374
1.jmp 00401031h,直接寻址
jle 0040102Dh,直接寻址
jl 00401010h,直接寻址
第三条指令的地址码是00401008.先+2变成00401010,检测跳转地址没有溢出,然后跳转到00401031
2.SF=0,OF=0,ZF=0,(SF异或OF)或ZF
3.shl:将i乘以4
addl:将080040A0h与i*4相加,得到地址
movl:把eax寄存器的地址里的数移动到ecx寄存器中。
间接寻址
按字节编址
080040A0h
4.CISC,因为包含了复杂指令
评分及理由
(1)得分及理由(满分4分)
学生正确识别了三条跳转指令(jmp、jle、jl),但错误地认为它们采用直接寻址(应为相对寻址)。对于jmp指令的跳转目标地址计算,学生正确给出了当前指令地址+2(00401008+2=00401010),但未说明偏移量21H(十六进制)的计算过程,且未明确偏移量为补码形式(+33十进制)。计算过程不完整,但最终目标地址正确。扣分:寻址方式错误扣1分,计算过程不完整扣1分。得分:2分。
(2)得分及理由(满分3分)
学生正确给出了标志位状态(SF=0, OF=0, ZF=0)和跳转逻辑表达式((SF异或OF)或ZF),与标准答案一致。得分:3分。
(3)得分及理由(满分7分)
学生正确分析了shll指令功能(i×4)、addl指令功能(计算地址)和movl指令功能(读取数据到ecx),但未明确addl指令中基地址为0804A010h(学生误写为080040A0h)。ecx存储内容描述正确(A[i]的值)。寻址方式正确(间接寻址)。编址方式正确(按字节编址)。但A[10]地址计算错误(基地址错误导致结果错误)。扣分:基地址错误扣1分,A[10]地址计算错误扣1分。得分:5分。
(4)得分及理由(满分2分)
学生正确判断为CISC,但理由过于简略(“包含复杂指令”不准确,应提及可变长指令或复杂寻址模式)。扣分:理由不充分扣1分。得分:1分。
题目总分:2+3+5+1=11分
登录后发布评论
暂无评论,来抢沙发