网站大量收购独家精品文档,联系QQ:2885784924

汇编语言-IO程序设计课件.ppt

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

;9.1 IO基本概念 9.2 直接传送方式 9.3 中断传送方式 9.4 DMA传送方式; I/O是输入/输出的简写,输入/输出是对外部设备进行控制和数据交换的过程。;9.1 I/O基本概念 ;9.1.1 I/O端口及其分配 ; CPU可以使用两种方式来访问I/O端口: 统一编址方式 独立编址方式; (1)统一编址。从存储空间中划出一部分地址空间分配给I/O设备,存储空间的地址映射到I/O接口电路的端口,剩下的部分由内存使用。; (2)独立编址。内存地址空间和I/O地址空间是相互独立的。; 按照PC系列微机系统中I/O接口电路的复杂程度及应用形式,可以把I/O接口的硬件分为两大类。 (1)系统板上的I/O接口芯片。 (2)扩展槽上的I/O接口卡。;9.1.2 保护模式下I/O指令的限制 ;9.2 直接传送方式 ;9.2.1 CMOS数据的读取 ;RTC输入/输出接口 ; 例9.1 读取实时钟。(程序见课本) 程序PROG0901通过读取RTC数据寄存器获得当前时钟。在Windows操作系统下,应用程序被限制不能执行I/O指令。这时,要借助于一个驱动程序giveio.sys。还需要一个allowio.exe将这个驱动程序装入到操作系统中。 程序打开\\.\giveio设备,在打开设备时,giveio驱动程序设置这个程序的任务状态段的I/O位图数据为全0,允许该程序执行I/O。 ;9.2.2 扬声器发声程序 ;9.2.3 串行I/O ; (1)发送保持寄存器(THR) (2)接收缓冲寄存器(RBR) (3)线路状态寄存器(LSR); 例9.3 在不考虑串口发送、接收出错的情况下,从COM1发送一个字符(在AL中)的程序见PROG0903。 ;9.2.4 并行I/O ; (1)数据端口。 (2)状态端口。 (3)控制端口。; 例9.5 输出AL中的字符到打印机的程序见PROG0905。 (程序见课本);9.2.5 直接读取硬盘扇区 ;1. IDE控制器 2. 主盘和从盘 3. 数据传输模式 4. 扇区编址模式 ;5.ATA设备寄存器 (1)命令寄存器(Command Register,8位)。 (2)状态寄存器(Status Register,8位)。 (3)数据寄存器(Data Register,16位)。 (4)设备控制寄存器(Device Control Register,8位)。 (5)扇区数寄存器(Sector Count Register,8位)。 (6)设备/磁头寄存器(Device/Head Register)。 (7)高位柱面寄存器(Cylinder High Register,8位)、低位柱面寄存器(Cylinder Low Register,8位)、扇区号寄存器(Sector Number Register,8位)。 ;6. 采用PIO方式读取硬盘扇区 按照以下步骤读取硬盘扇区。 (1)复位硬盘,将SRST=1,再设为0(SRST=1)。 (2)读取状态寄存器,等待其BSY=0,DRQ=0。 (3)按照图9-12,设置7个寄存器。 (4)读取状态寄存器,等待其DRDY=1,DSC=1,DRQ=1。 (5)从数据寄存器中读取扇区内容。 ; 例9.6程序读入硬盘的0扇区。程序首先复位硬盘,并查询状态寄存器,直到BSY=0而且DRQ=0,确认硬盘已经准备好接收一个新的命令。接下来,将扇区数、lbaSector的28位扇区地址分别送入各个寄存器,将20H送入命令寄存器,再查询状态寄存器,直到DRDY=1,DSC=1,DRQ=1,表示硬盘已经读出了这个扇区,可以传送给计算机。最后,从数据寄存器读取512字节的数据。 程序中定义了OUTX、INX两个宏,调用这些宏能够方便地执行OUT、IN操作。 例9.6 以PIO方式读取硬盘扇区。程序实现见PROG0906。 ;9.3 中断传送方式 ;9.3.1 基本原理 ;中断传送方式的工作原理 ;1. 中断源 键盘控制器能够产生中断信号,称之为一个中断源。除此之外,实时时钟、串口、并口等都是中断源。 ; 系统必须依赖可编程中断控制器(Programmable Interrupt Controller,PIC)8259来管理各个中断源。;2. 中断屏蔽 外中断可以分为不可屏蔽中断(NMI)和可屏蔽中断(INTR)。 ; CPU是否接受可屏蔽中断请求受IF位的控制。IF=0时,CPU不响应INTR信号,IF=1时则响应之,因此将INTR称为可屏蔽中断请求。 ;3. 中断类型号与中断向量 外部硬件在通过INTR发出中断请求信号后,CPU在响应中断请求时,再从外部硬件读出一

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档