汇编第8章 输入输出与中断程序设计.pptVIP

  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文档。上传文档
查看更多
汇编第8章 输入输出与中断程序设计

第8章 输入/输出和中断程序设计 ;8.1 I/O设备的数据传送方式 ; 这些信息包括控制、状态和数据三种不同性质的信息,它们必须按不同的端口地址分别传送。 1. 控制信息 控制信息输出到I/O接口,通知接口和设备要做什么动作。例如,CPU向I/O接口发出启动信号或停止信号以控制外设的启停。 ; 2. 状态信息 状态信息从I/O接口输入到CPU,表示I/O设备当前所处的状态。对于输入设备,通常用准备好(Ready)信号来表示外设已准备好输入数据。对于输出设备,通常用忙(Busy)信号表示设备是否处于空闲状态。如为空闲状态,外设则接收CPU送来的信息;如为忙状态,CPU则要等待。 ; 3. 数据信息 数据信息是I/O设备和CPU真正要交换的信息。外设和接口之间的数据信息可能是串行的,也可能是并行的,相应地要使用串行接口或并行接口。不同的I/O设备要求传送的数据类型也是不同的,例如,CPU向显示卡传送的数据必须是ASCII码;而显示卡向显示器传送的必须是R(红)、G(绿)、B(蓝)信号、H(行同步)和V(场同步)信号。 I/O设备与主机之间进行数据交换有多种方式,概括起来可以分为程序直接控制方式、程序中断方式、直接存储器访问(DMA)方式和通道传输方式(IOP)。; 8.1.2 I/O端口与端口地址 计算机的外部设备和大容量存储设备都是通过接口连接到系统上的,每个接口由一组寄存器组成,这些寄存器都分配有一个称为I/O端口的地址编码。计算机的CPU和内存就是通过这些端口和外部设备进行通信的。 I/O接口部件中一般有三种寄存器:一是用作数据缓冲的数据寄存器;二是用作保存设备和接口的状态信息,供CPU对外设进行测试的状态寄存器;三是用来保存CPU发出的命令以控制接口和设备操作的命令寄存器。这些寄存器都分配有各自的端口号,CPU就是通过不同的端口号来选择各种外部设备的。; 计算机I/O端口编址一般分两种方法:一种是将I/O与内存单元统一编址,其优点是节省了输入/输出指令,但缺点是占用了内存单元的有效地址空间;另一种是将I/O独立编址。在80x86微机中,I/O端口编址在一个独立的地址空间中,这个I/O空间允许设置64 K(65 536)个8位端口或32 K(32 768)个16位端口,这些端口地址实际上只用了其中很小一部分,因为系统中一般只有十几个外部设备和大容量存储设备与主机相连。对不同型号的计算机和其接口,I/O端口的编号有时不完全相同。表8-1列出了部分端口地址(十六进制)。 ;表8-1 部分I/O端口地址 ;93H~9FH ; 8.1.3 I/O指令 对于一个I/O和存储器分离的地址空间系统,80x86有专门的I/O指令与端口进行通信。在第3章已介绍了8086的I/O指令IN和OUT,这两条指令既可以传送字节也可以传送字,并且都有直接端口寻址和间接端口寻址两种方式。 ;IN AL,PORT ;(AL)←(PORT) IN AX,PORT ;(AX)←(PORT+1,PORT) IN AL,DX ;(AL)←((DX)) IN AX,DX ;(AX)←((DX)+1,(DX)) OUT PORT,AL ;(PORT)←(AL) OUT PORT,AX ;(PORT+1,PORT)←(AX) OUT DX,AL ;((DX))←(AL) OUT DX,AX ;((DX)+1,(DX))←(AX) ; 以上IN和OUT指令的前两种方式是直接端口寻址方式,端口地址PORT是一个8位的立即数,其范围是0~255。两组指令中的后两种格式是间接寻址方式,端口地址DX中,其范围为0~65 535,这种方式通过对DX寄存器的增量可以处理几个连续端口地址的输入输出。 应注意,指令中使用的数据寄存器必须是AL或AX,间接寻址的寄存器必须是DX。 用IN指令可以从一个数据寄存器输入数据或从状态寄存器输入接口和外设的状态。例如,下面两条指令能把一个字从端口地址0028和0029传送到存储器的DATA WORD单元中。; IN AX,28H MOV DATA_WORD,AX 例如,测试某状态寄存器(端口地址为27H)的第2位是否为1,若为1,则转移到ERROR进行处理。其指令序列为

文档评论(0)

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

教师资格证持证人

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

领域认证 该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档