文章
7
粉丝
0
获赞
0
访问
301
(1) R2存储的是 us2 ,无符号数得到0000 FF38H; R4是s2,根据us2的值,替换为有符号数,得到FFFF FF38H;R5由us1 + us2得到,计算得0000 0064H;R6由于是有符号数减法,溢出16位有符号数得表示范围,存储到32位寄存器,进行符号扩展得到 FFFF FEB0H
(2) s1 = 300, s2 = -200。直接计算十进制数,n1 = 100, 未溢出; n2 = 500也没溢出。则n1 = 100, n2 = 500。
(3) 由(1)的分析,计算m2时,发生了溢出,CF = 1。结果不是0,则ZF = 0。
(4) 无符号数加法时的CF 直接根据最高位的进位确定,减法则是 被减数 < 减数时 CF=1。
有符号数时,不会影响CF
评分及理由
(1)得分及理由(满分4分)
得分:3分
理由:R2、R4、R5的答案正确,但R6的答案错误。R6应为0000 01F4H,学生给出的FFFF FEB0H是错误的,因为m2是无符号数减法结果,应进行零扩展而非符号扩展。
(2)得分及理由(满分2分)
得分:2分
理由:n1和n2的答案完全正确。
(3)得分及理由(满分2分)
得分:2分
理由:CF和ZF的答案完全正确。
(4)得分及理由(满分4分)
得分:3分
理由:无符号数加减法的CF判断逻辑正确,但有符号数加减法不影响CF的解释不够准确。标准答案明确指出加法器会同等产生各标志位,只是对有符号数运算CF无意义,学生未完全说明这一点。
题目总分:3+2+2+3=10分
登录后发布评论
暂无评论,来抢沙发