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

第12~15章 I/O程序设计 一、CPU与外设 二、输入/出端口 (补充说明 P272 ) 1、数据端口(数据缓冲寄存器) 2、状态端口(状态寄存器) 3、控制端口(控制寄存器) 补充说明 状态信息、控制信息与数据信息是不同性质的信息,必须要分别传送。但在大部分微机中,只有输入指令IN,输出指令OUT。因此,状态信息和控制信息也被广义地看成一种数据信息,即状态信息作为一种输入数据,而控制信息作为一种输出数据,这样状态信息和控制信息也通过数据总线来传送。为了区别输入数据和状态信息,数据口和状态口必须有不同的口地址;同样区别输出数据和控制信息,数据口和控制口也有不同的口地址。 三、I/0端口的编址(寻址)方式 1、端口和存储单元统一编址 把I/O端口作为存储器的一个单元看待,故每个I/O端口占用存储器的一个地址:从输入端口输入一数据即为一次存储器读操作,从输出端口输出一数据即为一次存储器写操作。 特点:a、CPU对外设的操作可使用全部的存储器指令,不需专门的I/O指令; b、端口地址占用内存空间,使内存容量减少。 2、I/0端口单独编址 I/O端口和存储器分别建立两个地址空间,单独编址。 特点:a、CPU有专门的指令专用端口 b、端口地址不占内存空间。 IBM PC 端口地址分配 20-21 中断控制器8259A 40-43 时钟/定时器 60-63 可编程序外围接口芯片8255A 200-20F 游戏I/O适配器 378-32A 并行接口打印机控制器 I/O指令 IN:端口输入 OUT:端口输出 说明: 1、 端口地址范围:0~65535 2、累加器AX/AL,端口直接/间接寻址 IN AL,N IN AX,N IN AL,DX IN AX,DX 3、IN/OUT指令不影响标志位 IN AL,20H MOV DX,0400H IN AL,DX MOV DX,400H MOV AL,86H OUT DX,AL 程序查询控制方式 接受数据之前,CPU首先要查询输入数据是否准备好;输出数据之前,CPU首先要查询输出设备是否空闲好,只有确认条件具备才传送,否则CPU就等待。流程如下图 故I/O端口除数据寄存器外,还必须有传送状态信息的寄存器。 中断 基本概念 1. 什么是中断、中断源、中断服务程序? 在CPU执行程序的过程中,由于出现了某个事件,CPU暂停当前程序,而转去执行处理该事件的程序,处理完后,返回被暂停的程序处继续执行,这个过程称为中断。 引起中断的事件称作中断源, 处理该事件的程序称作中断服务程序(Interrupt Service Routine,简称ISR)。 实现中断的硬件及软件称为中断系统。 2、中断请求、中断响应、中断屏蔽、开中断、关中断 另见 3、外中断(硬件中断)、内中断(软件中断) 中断优先级 4、中断号 80x86系统允许256种中断,每种中断对应0 ~ 255之间唯一的编号,称为中断号或中断类型号。 5. 中断向量与中断向量表 每种中断都有一个与之对应的中断服务程序。 在实模式下,将中断服务程序的入口地址称作中断向量,存放256个中断向量的内存区域称为中断向量表。 每个中断向量占4个字节,用32位分段地址来描述。 中断向量表位于内存地址00000H ~ 003FFH,共1KB(256*4B)。 对于中断号n,中断向量所在地址为n ~ 4n+3。例如,0号中断的向量位于地址00000H,1号中断的向量位于地址00004H,等等。 中断向量表在系统复位时初始化。 8086 中断 0H 除以零 1H 单步(用于DEBUG) 2H 非屏蔽中断 3H 断点指令(用于DEBUG) 进一步说明:中断的中断响应 当中断发生时,由硬件自动完成下列工作: (1)标志寄存器FLAGS进栈。 (2)置IF = 0,TF = 0。 (3)返回地址(CS:IP)进栈。 (4)根据中断号n,从地址0:n×4取出4字节的中断向量,低字送IP,高字送CS。 (5)转去执行中断向量所指的中断服务程序。 软件部分 主程序:为响应中断做准备工作: 1、设置中断相量

文档评论(0)

叮当文档 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档