- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章输入输出和中断/
和WIN32编程
前面已经讲过有关输入/输出的问题,主要是用DOS 中断调用
INT21H 来完成键盘输入以及屏幕显示。对于计算机来说,仅有这
种输入/输出还不够,因为DOS 的中断调用无法实现对其它外设的
控制。关于如何用汇编程序实现主机与外设之间的信息交换,将是
本章的主要内容。包括:
输入输出指令的使用格式及功能;
主机与外部设备之间传送数据的方式;
中断的概念及中断处理程序设计;
WIN32程序设计基本方法与技术。
6.1 I/O设备与数据传送方式
一. 主机与外设之间数据的传送方式
计算机与外设之间传送数据有如下4 中方式:
1. 无条件传送方式:适合于CPU 与外设同步的情况。直接
传送,高速外设与主机之间数据传送。
1
2. 查询传送方式:适合于低速外设与主机之间数据传送。
3. 中断传送方式:适合于低速外设与主机之间数据传送。
4. 直接存贮器 (又称DMA)传送方式:适合于高速外存与
主机的数据传送。
其中:无条件传送和查询传送,直接在端口上利用IN 和OUT
指令传送数据。
中断传送:在DOS及BIOS层上通过系统功能调用的中断指
令实现。
直接存贮方式:在端口上,采用通道技术实现。在计算机准备
好接收,外设准备好传送数据时,外设向CPU 发一个请求DMA
传送信号,此时CPU 让出总线控制权,使外设与主存在短时间内
成批传送数据。
二. 外设与主机传送的接口与信息
1. 端口与接口
计算机的外设都是通过接口连接到系统上,每个接口由一组寄
I/O
存器组成,寄存器都有一个称为 端口的地址编码。
也就是,每一台外设都通过硬件接口与主机端口相连,并交换
信息。
2
CPU I/O存贮空间 接 I/O 操
(端口) 口 作
内存
主机 外设
接口的组成:设备状态寄存器、设备控制寄存器、数据寄存器。
上述寄存器在I/O 空间中都有固定编码。
I/O端口的地址空间:允许设置64K 个8位端口或32K 个 16
位端口。对I/O 空间的访问用IN 或OUT 两个指令。
I/O端口地址分配,可以查手册。
如:40H~43H 时钟/定时器,60H~63H 为8255通讯芯片的接
口。
2. 外设与主机的信息交换
传送的信息分为三类:
1 控制信息:CPU把控制信息从端口输出到对应外设接口的
控制寄存器中,告诉外设应做什么。
2 状态信息:把外设的状态寄存器中的内容送到对应的端
口中,以便CPU 了解外设状态。
3 数据信息:需要交换的数据 (8位、16位)。
3
6.2 程序直接控制I/O方式
直接I/O方式有两种:
1 无条件传送方式:不查询外设状态寄存器的状态,直接
用IN 或OUT 指令实现CPU 与外设信息传送。该方式的特点是:
CPU 与外设必须同步工作。
2 查询传送方式:查询外设状态和控制寄存器中的内容,
确定是否传送。特点:CPU 与外设不同步。
一. IN和OUT指令
通过前面的学习,我们已经知道,外设与主机传送信息,必须
用IN 和OUT 指令。
IN
外设 主机
OUT
1. 输入指令IN
功能:从外设寄存器取信息送入AX 或AL。
4 种形式:
INAL,PORT 功能:(PORT)→AL
INAX,
文档评论(0)