微机原理第3章习题(答案).docVIP

  1. 1、本文档共5页,可阅读全部内容。
  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章习题(答案) 1. 下列各条指令是否有错?如果有,请指出错误之处并改正 (1)MOV DS,1000H (2)MOV [100],23H (3)ADD AX,[BX+BP+6] (4)PUSH DL (5)IN AX,[3FH] (6)OUT 3FFH,AL (7)LES SS,[SI] (8)POP [AX] (9)IMUL 4CH (10)SHL BX,5 (11)INT 300 (12)XCHG DX,0FFFH 答:(1)错误。不允许直接向段寄存器送立即数,可改为:MOV AX, 1000H MOVDS, 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 BX,[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 2. 请指出以下各指令的源、目的操作数所使用的寻址方式。 (1) MOV SI,2100H (2) SBB DISP[BX],7 (3) AND [DI],AX (4) OR AX,[609EH] (5) MOV [BX+DI+30H],CX (6) PUSH ES:[BP] (7) CALL [DI]DISP (8) JNZ Short_ label 答:(1)源操作数:立即数寻址;目的操作数:寄存器寻址 (2)源操作数:立即数寻址;目的操作数:基址寻址 (3)源操作数:寄存器寻址;目的操作数:寄存器间接寻址 (4)源操作数:直接寻址; 目的操作数:寄存器寻址 (5)源操作数:寄存器寻址;目的操作数:(带位移量的)基址变址寻址 (6)源操作数:带段超越的寄存器间接寻址;目的操作数:隐含寻址 (7)只有一个操作数,为变址寻址 (8)只有一个操作数,为相对寻址 3. 已知DS=2000H ,有关的内存单元值为:(21000H)=00H , (21001H)=12H ,(21200H)=00H , (21201H)=10H , (23200H)=20H , (23201H)=30H , (23400H)=40H ,(23401H)=30H,(23600H)=60H,(23601H)=30H,符号 COUNT 的偏移地址为 1200H。执行下列指令后,寄存器 AX、BX、SI 的值分别是多少? MOV BX,OFFSET COUNT MOV SI,[BX] MOV AX,COUNT[SI][BX] 答:执行结果为 BX=1200H,SI=1000H,AX=3040H。 4. 设标志寄存器值原为 0401H,AX=3272H,BX=42A2H。执行指令 SBB AL,BH 之后,AX 和标志寄存器的值分别是多少? 答:由标志寄存器的原值 0401H 可知, F 的原值为 1,C故指令执行之后 AX=322FH,标志寄存器的值为 0410H,即 AF 变为 1,CF 变为 0,其余不变。 5.设若标志寄存器原值为 0A11H,SP=0060H,AL=4。下列几条指令执行后,标志寄存器、AX、SP 的值分别是多少? PUSHF LAHF XCHG AH,AL PUSH AX SAHF POPF 答:指令执行后标志寄存器的值为 0411H,AX=0411H ,SP=005EH。 6. 若 AX=26D3H,CX=7908H,CF=1,执行下列指令后,寄存器 AX、CX 的值分别是多少?CF=?OF=

文档评论(0)

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

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

1亿VIP精品文档

相关文档