微型计算机原理和 与应用第10章输入输出接口1.ppt

微型计算机原理和 与应用第10章输入输出接口1.ppt

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

10. 1 输入输出接口基础 10.2 中断系统 10.3 DMA传送和DMA控制器8237 10.4 ISA系统总线 10.5 主机板上的计时计数逻辑 10.6 键盘接口及应用 ;第 10 章 输入输出接口(1);10.1输入输出接口基础; IN DST, SRC OUT DST, SRC 对于IN指令,目的地址DST的寻址方式为寄存器方式, 字节输入时为AL,字输入时为AX。 源操作数的寻址方式有两种:(1) 直接寻址方式, 即在SRC的位置上直接写上代表端口地址的数或能求出值的表达式。 对于直接寻址方式有一点限制,就是端口地址不能大于255(0FFH),因为直接寻址方式的指令汇编后是两个字节的指令, 第2个字节是端口地址的二进制代码。(2) 寄存器间接寻址。 间址寄存器为DX, 书写为IN AL,DX或IN AX, DX(DX不加括号)。 ; 这种寻址方式需要在IN指令之前, 把输入端口地址传送至DX寄存器,端口地址的大小没有限制, 但必须在合法的输入输出地址空间内(有效I/O地址范围为0~FFFFH)。间接寻址指令经汇编为单字节指令。  对于OUT指令,源操作数的寻址方式和IN搜集的目的操作数的寻址方式相同,的操作数寻址方式与IN指令的源操作数寻址方式相同。  有 8 位端口和 16 位端口两种端口。对于 8 位端口而言, 要用一条指令输入或输出 16 位数据将涉及两个相邻的端口, 如表10.1所示。 对于 16 位端口,用一条指令输入或输出 16 位数据只涉及一个端口。 ; 如果STD指令将DF设置为1, 则DI或SI进行减操作。 由以上说明可以看出,字符串输入输出指令的寻址方式是隐含的、固定的。对于输入指令,助记符为INS,源操作数地址为DX指明的端口,目的操作数地址为ES:DI指明的存储单元。 对于输出指令,助记符为OUTS, 源操作数地址为DS: SI指明的存储单元,目的操作地址为DX指明的端口。程序中, 在排入INS或OUTS指令之前,必须作好寻址的准备,向DX置入端口地址,向ES、DI或DS、SI置入存储单元的段地址和段内偏移地址。  INS和OUTS有字节和字型两种操作。 ; 字节型操作是一个8位的端口与一个字节存储单元之间传输,DI或SI加1或减1。字型操作是一个16位的端口与两个字节的存储单元之间传输,DS或SI加2或减2。  为了能区别是字节型操作还是字符型操作,INS和OUTS指令在编程书写时有两种格式。一种格式是在助记符后加字母B表示字节型操作, 加字母W表示字型操作。指令书写为INSB、INSW、OUTSB和OUTSW。另一种书写式是有助记符之后写上操作涉及的变量名,因为变量定义时已指明其字节型或字型的类型属性。指令书写为:  INS字节型变量名, DS; 字节操作 INS字型变量名, DX; 字操作 OUTS DX字节型变量名; 字节操作; OUTS DX字型变量名;字操作和其它字符串指令一样, 指令之前也可用重复前缀REP,在CX中预先设置重复次数。 在没有重复前缀时, 每条指令只执行一次传送。  2. 输入输出同步问题 IN指令可以把外部数据输入CPU, OUT指令可以把CPU的数据输出到外部,它们是实现数据输入输出传输的基础。 但是,实际数据传输过程中,有一个突出的必须解决的问题, 就是主机与外部设备之间时间同步的问题。表现在: ; (1) 外部设备工作时有自己的定时机构,主机在运行程序、 执行指令时也有自己的定时系统,它们在时间上是不同步的。 对于一个要向主机输入数据的输入设备(如一个A/D 变换电路), 主机不能准确知道什么时候已把要输入的数据准备好了;反之, 这个输入设备把数据准备好之后,也不知道什么时候主机能用IN指令取走数据。对于一个接收主机输出数据的输出设备(例如打印机),主机不能准确知道什么时候这个输出设备已经作好了接收数据的的准备;反之,输出设备也不能准确知道什么时候主机输出了新数据。为了可靠而有效地传输数据,主机和外部设备之间除传输数据之外,还需要互相提供联络信息。 联络信息可以理解为状态信息,如向接收方提供“数据已准备好”的状态,请对方取走;联终信息也可理解为命令或请求, 如“把数据取走”。 ; 实际上,理解为状态或命令并没有严格的区别,把“数据已准备好”的状态解释为请“把数据取走”

文档评论(0)

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

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

1亿VIP精品文档

相关文档