微机原理第五章参考解答.ppt

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理第五章参考解答

5.1 8086CPU对其I/O端口的寻址采用哪种方式?它的输入指令: IN AL,PORT;IN AL,DX; IN AX,PORT;IN AX,DX的作用有何区别? 5.1 答:8086CPU对I/O端口的寻址采用的是I/O端口单独寻址方式,它安排有专门的输入/输出指令即IN、OUT指令。4条输入指令的区别是: IN AL,PORT:直接寻址 端口地址和输入的数据均为8位,即:(PORT)→AL IN AL,DX:间接寻址 端口地址为16位,输入的数据为8位,即:(DX)→AL IN AX,PORT:直接寻址 端口地址为8位,输入的数据为16位,即: (PORT)→AL,(PORT+1)→AH IN AX,DX:间接寻址 端口地址和输入的数据均为16位,即: (DX)→AL,(DX+1)→AH 5.4 在查询方式、中断方式以及DMA方式中,有一个共性的问题是: 系统如何知道接口部件已准备好,可以进行I/O数据传送? 试简述之。 答: ① 在查询方式中,通过程序检测接口电路中状态寄存器的“准备好”(Ready)位,以确定当前可否进行数据传输; ② 在中断方式下,当外设已准备好时,接口电路会向CPU发一个中断请求,CPU响应后,便通过运行中断服务程序来实现数据输入/输出; ③ 在DMA方式中,外设要求传输数据时,接口电路会向DMA控制器发出DMA请求信号,导致DMA传输数据。 5.5 某输入设备的接口电路中,其数据端口地址为3F8H;状态端口地址为3FEH,当其D7位为1时,表示输入数据已准备好。 试编写查询方式数据传送的程序段,要求从该设备读入100个字节,并存入到自2000H:2000H开始的内存单元之中。 解: MOV AX, 2000H MOV DS, AX ;设置数据段基址为2000H MOV BX, 2000H MOV CX, 64H ;计数器初值为100 NEXT: MOV DX, 3FEH ;状态端口地址 WAIT: IN AL, DX ;读入状态 TEST AL,80H ;设备准备好? JZ WAIT ;否,转回继续查询状态 MOV DX,3F8H ;数据端口 IN AL,DX ;输入数据 MOV [BX], AL ;存入缓冲区 INC BX ;指向下一单元 LOOP NEXT ;循环控制共输入100个字节 … 5.6 设计一个采用74LS138的I/O端口的地址译码器,要求能寻址的端口地址范围分别是: ① 340H~347H; ② 348H~34FH; ③ 350H~357H; ④ 378H~37FH。 答:由题目要求,该译码器至少要使用十根地址总线A9~A0,其中: A9~A3与一起用于对74LS138的输入; A2~A0用于各接口芯片的片内I/O端口的寻址。 5.12 8259A只占用2个I/O端口地址(奇、偶地址),对其编程时将如何区别7个可编程的寄存器:ICW1~ICW4、OCW1~OCW3? 答:⑴ 7个可编程的寄存器中占用偶地址的有ICW1、OCW2、OCW3,它们之间的互相区分则采用写入的控制字中不同的特征位的方式来进行。其中: ICW1的D4位必须为1; OCW2的D4D3位必须为00; OCW3的D4D3位必须为01。 ⑵ 占用奇地址的有ICW2、ICW3、ICW4和OCW1,它们之间的互相区分则采用写入顺序来进行,其中: ICW2、ICW3、ICW4在8259A初始化编程过程中,必须严格按顺序依次写入; 而OCW1则是在初始化完成后,在8259A的工作过程中写入。 5.16 某808

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档