网站大量收购闲置独家精品文档,联系QQ:2885784924

微机系统原理与接口技术第3章习题答案.docVIP

微机系统原理与接口技术第3章习题答案.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机系统原理与接口技术第3章习题答案

“微机系统原理与接口技术”第三章习题解答 下列各条指令是否有错?如果有,请指出错误之处并改正。 MOV DS,1000H MOV [100],23H ADD AX,[BX+BP+6] PUSH DL IN AX,[3FH] OUT 3FFH,AL LES SS,[SI] POP [AX] IMUL 4CH SHL BX,5 INT 300 XCHG DX,0FFFH 答:(1)错误。不允许直接向段寄存器送立即数,可改为: MOV AX,1000H MOV DS,AX (2)错误。该指令在语法上是对的,即可以把一个立即数送入一个存储单元;但是如果考虑实际编译,则第一操作数前应加上BYTE PTR或WORD PTR说明,否则汇编程序会因不能确定操作数长度而指示出错。可改为: MOV BYTE PTR [100],23H (3)错误。不能同时使用两个基址寄存器BX、BP进行间接寻址,可改为: ADD AX,[BX+DI+6] (4)错误。堆栈操作应以字为单位进行,而DL是一个字节。可改为: PUSH DX (5)错误。在输入/输出指令中,8位端口地址应直接写在操作数处。可改为: IN AX,3FH (6)错误。端口地址3FFH已超出8位二进制表示范围,16位端口地址应用DX。可改为: MOV DX,3FFH OUT DX,AL (7)错误。LES指令的目操作数应该是通用寄存器,不能是段寄存器。可改为: LES AX,[SI] (8)错误。AX不能用于间接寻址,间接寻址只能用BX、BP、SI、DI四个寄存器之一。可改为: POP [BX] (9)错误。立即数不能做乘法指令的操作数,可改为: MOV BL,4CH IMUL BL (10)错误。当逻辑移位的次数大于1时,应该用CL指示次数。可改为: MOV CL,5 SHL BX,CL (11)错误。操作数300 ( 255,已超出有效的中断类型码范围。 (12)错误。XCHG指令不允许立即数做它的操作数。可改为: MOV CX,0FFFH XCHG DX,CX 请指出以下各指令的源、目的操作数所使用的寻址方式。 MOV SI,2100H SBB DISP[BX],7 AND [DI],AX OR AX,[609EH] MOV [BX+DI+30H],CX PUSH ES:[BP] CALL [DI]DISP JNZ Short_ label 答:(1)源操作数:立即数寻址;目的操作数:寄存器寻址 (2)源操作数:立即数寻址;目的操作数:(带位移量的)基址寻址 (3)源操作数:寄存器寻址;目的操作数:变址寻址 (4)源操作数:直接寻址; 目的操作数:寄存器寻址 (5)源操作数:寄存器寻址;目的操作数:(带位移量的)基址变址寻址 (6)源操作数:带段超越的基址寻址;目的操作数:隐含寻址 (7)只有一个操作数,为(带位移量的)变址寻址 (8)只有一个操作数,为相对寻址 在已学的指令中,可实现累加器清0的单条指令有哪些?比较它们的功能。 答:共有以下四种方法: MOV AX,0 ;仅将累加器清0,不会影响任何标志位 SUB AX,AX ;累加器清0的同时影响所有状态标志,具体地有: ;ZF、PF置1,CF、AF、SF、OF均清0 AND AX,0 ;将累加器清0,ZF、PF置1,CF、OF 、SF清0 XOR AX,AX ;将累加器清0,ZF、PF置1,CF、OF 、SF清0 若要判断某带符号数的正、负而不影响其原值,可使用哪些方法? 答:设带符号数为oprd,判断方法可有如下几种: 执行指令 ADD oprd,0 之后,判断SF:SF =0,oprd为正数,否则为负。 执行指令 SUB oprd,0 之后,判断SF:SF =0,oprd为正数,否则为负。 执行指令 CMP oprd,0 之后,可直接判断SF:SF =0,oprd为正数,否则为负;或者再接着执行指令 JGE NOMINUS(即同时判断SF、OF),若程序转移至NOMINUS处,则oprd为正数,否则为负;同理,亦可在在执行完CMP oprd,0 之后再接着执行指令 JL NOMINUS,若程序转移至NOMINUS处,则oprd为负数,否则为正。 执行指令 CMP oprd,80H(或8000H)之后,判断CF:CF =1,oprd为正数,否则为负。 执行指令 AND oprd,oprd(或全“1”)之后,判断SF:SF =0,oprd为正数,否则为负。 执行指令 TEST oprd,oprd(或全“1”)之后,判断SF:SF =0,oprd为正数,否则为负。 执行指令 TEST oprd,80H(或8000H)之后,

文档评论(0)

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

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

1亿VIP精品文档

相关文档