文档详情

称为外部中断.ppt

发布:2019-11-27约2.24千字共7页下载文档
文本预览下载声明
* 第十章 输入输出程序设计 10.1 输入输出指令 输入输出(I/O)是指CPU与输入设备和输出设备之间进行的信息传送。CPU与外部设备之间通过输入输出接口相连接。各个设备在输入输出接口中分配了相应的端口。访问不同的设备就是访问其对应的端口。在指令系统中提供了访问输入输出端口的指令。 一、I/O端口寻址方式 在计算机系统,对I/O端口的寻址方式有以下两种方法。 1、存储器编址方法 这种方法是指将I/O端口视为存储器的一个单元,对端口的访问就如同访问存储单元一样。访问存储器的指令和各种寻址方式同样适用对I/O端口的访问。 这种方式的特点是程序设计灵活,但需要占用存储地址空间。 2、I/O端口编址方法 在这种方法中,I/O端口的地址与存储器地址分开,并使用专门的输入指令和输出指令。8086/8088系统中就是采用的这种方式。 端口的地址范围为64K个8位端口或32K个16位端口。地址不分段。存储器地址和I/O端口地址都是通过地址总线传送。为了区分一个地址是存储器地址或端口地址,8086/8088CUP通过一条控制线M/IO或M/IO来控制。 * 当M/IO =1时,总线上地址为访问存储器 * 当M/IO =0时,总线上地址为访问I/O端口 二、输入输出指令 1、输入指令 格式: IN OPRN1,OPRN2 OPRN1为AL(字节输入)或AX(字输入)。OPRN2为输入端口地址,它可以是一个8位地址值,可以访问的端口地址范围0—255,这种方式称为直接端口寻址。也可以是用寄存器DX指定的一个16位地址,可以访问的端口地址范围为0—65535。这种方式称为间接端口寻址。 例如: IN AL, 10H ;从一个8位端口输入一个字节到AL中 IN AX, 30H ;从一个16位端口输入一个字到AX中 IN AL, DX ; IN AX, DX ; 2、输出指令 格式:OUT OPRN1,OPRN2 OPRN1为输出端口地址,可以采用与输入指令类似的直接端口寻址和间接端口寻址。OPRN2是AL(字节输出)或AX(字输出)。 例如: OUT 10H, AL ;将AL中的数据输出到地址为10H的8位端口中 OUT 30H, AX ;将AX中的数据输出到地址为30H的16位端口中 OUT DX, AL ;将AL中的数据输出到由DX指定的8位端口中 OUT DX, AX ;将AX中的数据输出到由DX指定的16位端口中 10.3 中断概念 一、一般概念 中断是现代计算机系统中必须具备的一个基本的工作控制方式。 所谓中断是指,当计算机正在执行某个程序时,突然发生了某个随机事态,如掉电,计时器计时到,某输入输出设备要求与CUP进行一次数据交换等等。这时,CUP需要中断原有程序的运行,而转去处理这些紧急事态。当处理完后,CUP又返回到原来的程序继续执行。中断处理过程如图所示。 第n条指令 第n+1条指令 中断服务程序 例行程序 例行程序 中断控制技术主要应用在下列几种场合: 1、及时处理计算机中的突发故障。如执行指令时产生溢出,内存出错等。 2、协调主机与外设工作速度的矛盾。 3、在实时控制系统中,及时处理各控制点的现场信息。 二、中断源及中断类型码 引起中断的原因或来源称为中断源。8086/8088CUP可以处理256种类型的中断,这些中断源可分为两大类。 1、外部中断 非CUP内部原因产生的中断,称为外部中断。外部中断又分为非屏蔽中断和可屏蔽中断。 ——可以通过标志寄存器中的中断允许位IF控制CUP是否响应中断请求。当IF=1,允许CUP响应可屏蔽中断;IF=0,禁止CUP响应可屏蔽中断。IF由指令STI和CLI设置。 ——不能由IF控制的中断源。当非屏蔽中断发生后,CUP一定要响应。 可屏蔽中断 非屏蔽中断 2、内部中断 由CUP内部发生的事件称为内部中断。如除法运算出错,执行软中断指令、单步执行中断等。 8086/8088为每个中断源都要分配一个中断类型码。中断类型码的分配由操作系统指定, 三、中断矢量表 对中断的处理是通过执行中断服务程序来实现的。为了执行中断服务程序,需要获得中断服务
显示全部
相似文档