端口地址译码(修).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文档。上传文档
查看更多
端口地址译码(修)

微型计算机接口技术 第二章 I/O端口地址译码 PAGE  PAGE 6 第二章 I/O端口地址译码技术 2.1 I/O端口及其编址方式 一、I/O 端口和I/O操作 1.I/O端口 端口:微处理器与I/O设备直接通信的地址。 CPU只所以能够准确无误地与各个I/O接口芯片或I/O接口逻辑电路进行通信,就是因为各个I/O接口芯片或I/O接口逻辑电路具有各自的端口地址。 2.I/O操作 I/O操作:I/O端口的操作;包括,端口的输入操作和输出操作两类。 二、端口地址的编址方式 所谓寻址方式就是如何实现对I/O 端口的访问问题。即称之谓I/O 端口寻址。 1.统一编址方式(存储器映象I/O寻址方式) 统一编址:指从存储器空间划出一部分地址空间给I/O接口设备,把I/O接口中的端口视作存储器单元一样的进行访问,不设置专门的I/O指令。 统一编址的特点: ⑴ I/O 端口与存储器共用同一地址空间。在系统设计时,指定某地址空间内的一个区域供I/O设备使用,即每一个I/O端口占用存储器空间的一个地址。 ⑵ CPU 对I/O端口的管理,是利用对存储器单元进行操作的指令来实现数据传送的,大大增加了程序设计的灵活性,并使CPU对I/O设备控制更为方便。 ⑶ CPU 通过地址总线的最高位状态和读/写控制命令,确定是对存储器访问还是对I/O端口进行访问。无论对存储器还是对I/O端口访问,CPU一视同仁地将其视为存储空间的一个单元。 ⑷ 统一编址I/O端口占用了存储器地址空间,使存储器容量减少,此外指令长度比专用I/O指令要长,执行时间也长。 2.独立编址方式 独立编址:I/O 端口和存储器分别建立两个地址空间,并且相互独立。CPU 设置专门的输入/输出指令实现对I/O端口的访问。 独立的I/O编址的特点: ⑴ I/O设备的端口地址空间与存储器地址空间完全分开,各自独立。 ⑵ CPU 使用各自的控制命令对存储器和I/O设备进行访问控制。 ⑶ CPU 对I/O设备的管理是使用专门的输入(IN)和输出(OUT)指令来实现数据传输,而输入/输出数据通道则是共用的总线结构。 ⑷ IBM-PC及其兼容机都使用I/O端口独立编址方式。 三、独立编址方式的端口访问 微型计算机采用I/O指令即Input和Output访问端口,实现CPU与I/O设备之间的数据传输。 1.I/O指令中端口的地址的宽度 在I/O指令中,有单字节地址和双字节寻址之分。 ⑴单字节地址 格式:IN AL, Port OUT Port, AL 例如:IN AL, 60H ;AL由端口60H读入数据(60H是8255A的PA端口地址) OUT 61H,AL ;AL向端口61H写入数据(61H是8255A的PB端口地址) ⑵双字节地址 格式:MOV DX, ╳ ╳ ╳ ╳H IN AL,DX MOV DX,╳ ╳ ╳ ╳H OUT DX,AL 例如:MOV DX, 300H IN AL,DX MOV DX,301H OUT DX,AL 注意:采用单字节地址时,端口地址是在指令中直接给出的,即端口地址就在指令中;采用双字节地址时,端口地址是用寄存器间接给出的,即地址存放在寄存器DX中。 2.I/O端口访问 端口访问:就是CPU对端口的读/写操作,即CPU从端口读入数据或向端口写入数据。 例如:IN AL, 60H ;AL由端口60H读入数据(60H是8255A的PA端口地址) OUT 61H,AL ;AL向端口61H写入数据(61H是8255A的PB端口地址) 例如:MOV DX, 300H IN AL,DX MOV DX,301H OUT DX,AL 以上仅仅是I/O端口与CPU之间的数据交换,如果内存与外部设备交换数据时,则: 例如:MOV DX, 300H ;I/O端口 IN AL,DX ;从端口读入数据到AL MOV [DI],AL ;将数据从AL寄存器→内存 MOV DX,301H ;I/O端口 MOV AL,[SI] ;从内存读取数据到AL OUT DX,AL ;数据从AL寄存器→端口 2.2 I/O端口地址

文档评论(0)

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

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

1亿VIP精品文档

相关文档