2007-2008(1)微机原理期中试题答案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2007—2008学年第一学期 同济大学 微机原理与接口技术(A) 期中试卷答案 (本卷考试时间为100分钟) 专业_________姓名_________学号_________ 将下列数字转换为16进制。(4分) (1) (10.3)8 (2) (12.5)10 (3) (100101.01111)2 (4) (56.2)7 若两个8位二进制数X=-107,Y=74,则有[X]补=?,[Y]补=?,[X+Y]补=?,[X-Y]补=?。(8分) 解: X=-107, 因(107)10=2, 故有[X]补=2 Y=74, 因(74)10=2, 故有[Y]补=2 [X+Y]补=[X]补+ [Y]补=2+2=2=(-33)10 [X-Y]补=[X]补- [Y]补=2-2=2=(75)10, 计算结果溢出。 若DS=2000H,SS=1500H,SI=00A0H,DI=0020H,BX=0100H,SP=0020H,DS:[0120H]=0AAH, DS:[0121H]=55H,数据DATA的偏移地址为0050H。试求。(10分) 执行指令 LEA AX, DATA[BX+SI]后,AX的内容是什么? 。(3分) 执行指令MOV WORD PTR [BX+DI], 01H后,目的操作数值是什么?。 (3分) 指令POP [DI+300H]的源操作数物理地址是什么?,目的操作数物理地址是什么?。 (4分) 解: 指令LEA是将访问内存的有效地址EA送入到寄存器中,故有 AX = DATA+BX+SI = 0050H+0100H+00A0H = 01F0H 寄存器AX中内容为01F0H。 因为目的操作数是WORD类型,故目的操作数中将存放0001H。 源操作数物理地址为SS×16+SP=15020H。 目的操作数物理地址为DS×16+DI+300H=20320H。 给定一个堆栈区,其地址范围为1250H:0000H~1250H:0100H, SP=0052H,试问(8分)。 栈顶地址是什么? 栈底地址是什么? (4分) 若存入数据2456H,数据在内存中如何存放,存放后SP的内容是什么? (4分) 解: 栈顶地址为1250H:0052H, 即物理地址为12552H。 栈底地址为1250H:0000H, 即物理地址为12500H。 在物理地址12551H处存放数据24H, 在物理地址12550H处存放数据56H。 存放完成后SP内容变为0050H。 已知AX=14C6H, BX=80DCH,执行以下程序后,试问(8分)。 CMP AX, BX JNO PROG1 JNC PROG2 JMP PROG3 分析标志位S,C,O,Z的取值情况(4分) 并指出程序将转向哪个标号? (4分) 解: 因为CMP指令执行的是减法操作,其结果只影响标志位。易知 14C6H-80DCH=93EAH。 可以看出,正数减去负数后,结果为负数,因此计算有溢出。有O=1。高位相减有借位,故C=1。计算结果为负数,有S=1。计算结果不为0,有Z=0。 由于O=1, 该程序片段中JNO的跳转条件不满足。而C=1, JNC跳转条件也不满足。 故最终程序将执行到JMP PROG3。因此,程序将转向PROG3标号。 若8086执行SUB AH,AL后,其结果是AH=85H, O=1,试问(14分) 指令执行前AH和AL中那个有符号数大? (5分) AH以前的数是个正数还是负数?为什么? (5分) 指令执行完毕后,AH的结果是否正确?为什么? (4分) 解: 因为SUB AH,AL执行是减法操作,结果AH=85H,为负数,且O=1,有溢出。 有符号数相减出现溢出,只有两种情况: 正数减去负数,结果为负数 负数减去正数,结果为正数。 易知本题只能属于第一种情况,即正数减去负数后,其结果为负数而产生溢出。 故在指令执行前,AH中的有符号数为正数,AL中的有符号数为负数,有AHAL。 由上分析,易知AH中的有符号数为正数,AL中的有符号数为负数。 因为产生了溢出,故AH中的结果不正确。 写出能完成下述操作的指令(14分)。 将AX的高字节清零,低字节不变(3分)。 将CX的高字节变反,低字节不变(3分)。 将AX的第11-14位用BX的第0-3位依次替换(8分)。 解: AND AX, 00FFH XOR CX, 0FF00H 程序片段如下: PUSH BX ;将BX中的值保存在堆栈中 SHL BX, 11 ;将BX中第0-3位

文档评论(0)

fbx2000520 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档