《汇编语言程序设计》第9章.ppt





《《汇编语言程序设计》第9章.ppt》由会员分享,可在线阅读,更多相关《《汇编语言程序设计》第9章.ppt(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、汇编语言汇编语言淮南师范学院重点课程淮南师范学院重点课程 第第9 9章章输入输入/输出程序设计输出程序设计 输入/输出指令 输入输出控制方式 中断BIOS中断调用 汇编语言汇编语言淮南师范学院重点课程淮南师范学院重点课程 9.1 输入/输出指令 9.1.1 IO端口寻址 当设备通过接口与主机相连时,CPU可以通过接口地址来访问I/O设备。通常将I/O设备码视为地址码,对I/O地址码的编址可采用存储器编址和I/O端口编址两种方式。1存储器编址方法 存储器编址也叫统一编址,就是将I/O地址看作是存储器地址的一部分。2I/O端口编址方法 I/O端口编址也称为不统一编址,就是指I/O地址和存储器地址是
2、分开的,所有对I/O的访问必须有专用的I/O指令。汇编语言汇编语言淮南师范学院重点课程淮南师范学院重点课程 9.1.2 9.1.2 输入输入/输出指令输出指令 1 1输入指令输入指令 格式:格式:IN OPERAND1IN OPERAND1,OPERAND2OPERAND2 其中:操作数其中:操作数OPERAND1OPERAND1是是ALAL或或AXAX,操作数操作数OPERAND2OPERAND2是输入端口地址。是输入端口地址。输入指令输入指令ININ是把端口的一个字节或字传送给是把端口的一个字节或字传送给ALAL或或AXAX。2 2输出指令输出指令 格式:格式:OUT OPERAND1OU
3、T OPERAND1,OPERAND2OPERAND2 其其中中:OPERAND1OPERAND1是是输输出出端端口口地地址址,OPERAND2OPERAND2是是ALAL或或AXAX,输输出出指指令令OUTOUT把把ALAL或或AXAX中的内容输出到端口。中的内容输出到端口。3.3.端口地址的寻址方式端口地址的寻址方式 用上两条指令时,有直接和间接两种寻址方式来确定端口地址。用上两条指令时,有直接和间接两种寻址方式来确定端口地址。(1)(1)直接端口寻址直接端口寻址 输输入入/输输出出指指令令的的端端口口地地址址可可以以是是直直接接给给出出,此此时时指指令令为为双双字字节节,第二字节即为一个
4、具体的第二字节即为一个具体的8 8位二进制数,可对位二进制数,可对0-2550-255个个8 8位端口寻。位端口寻。(2)(2)间接端口寻址间接端口寻址 间间接接端端口口寻寻址址是是采采用用寄寄存存器器DXDX的的内内容容来来指指定定端端口口地地址址,此此寻寻址址方方式式的的指指令令是是单单字字节节指指令令。因因为为DXDX是是1616位位寄寄存存器器,所所以以这这种种寻寻址址方方式式可可对对0-0-6553565535个个1616位位端端口口进进行行寻寻址址。当当端端口口号号大大于于255255时时,就就应应采采用用间间接接端端口口寻寻址。址。返回返回汇编语言汇编语言淮南师范学院重点课程淮南
5、师范学院重点课程9.2 9.2 输入输出控制方式输入输出控制方式 9.2.1 9.2.1 程序控制方式程序控制方式 程序控制方式是在用户程序的控制下实现主机(CPU)与外设交换信息,对哪个端口何时进行输入/输出操作,都在程序中反映出来。具体实现时又有立即传送和程序查询两种方法。1 1立即传送方立即传送方式 采用这种方法时,应该确定外设已经准备好,因此不再询问外设是否准备情况,在程序中需要输入/输出时,就向指定端口进行输入输出操作。2程序查询方式 若CPU与外设交换信息时,根据外设的工作状态来决定是否进行交换,这就是程序查询方法,这时CPU常常要查询外设的某些标记,然后再作出决定,就是程序查询方
6、式。汇编语言汇编语言淮南师范学院重点课程淮南师范学院重点课程 9.2.2 中断控制方式 程序控制方式的立即传送方法,不能根据设备实时状况操作,而程序查询方式使这种问题得以解决,但工作时CPU与外设相当串联工作,占用CPU大量时间,因此工作效率不可恭维。如果在外设已准备好的情况下,通知CPU,这时CPU才停下原来的工作与外设实施数据交换,此次信息交换完成后CPU在继续自己的原有工作,按此想法就产生了中断工作方式。CPU启动外设后仍继续执行原程序,在第K条指令执行结束后,CPU响应了外设的请求,中断了现行程序,转至中断服务程序,等处理完后又返回到原程序断点处,继续从第K+1条指令往下执行。这种方式
7、中断了原程序的运行,所以称为程序中断方式。汇编语言汇编语言淮南师范学院重点课程淮南师范学院重点课程9.2.3直接存储器存取方式 如果外设能直接与主存交换信息而不占用CPU,CPU的资源利用率显 然 又 可 进 一 步 提 高,这 就 出 现 了 直 接 存 储 器 存 取 的DMA(DirectMemoryAccess)方式。DMA的数据块传送操作可以分为3个主要步骤:(1)预处理阶段:由CPU执行几条输入输出指令,测试设备状态;向DMA控制器的设备地址寄存器中送入设备号,并启动设备;向内存地址计数器送入起始地址;向字计数器中送入交换的数据字的个数。(2)正式传送阶段:外设准备好发送数据(输入
8、)或接收数据(输出)时,发出DMA请求,由DMA控制器向CPU发出总线使用权的请求;CPU在本机器周期执行完毕后响应该请求并使CPU的总线驱动器处于高阻状态,然后与系统总线相脱离,DMA控制器接管数据总线和地址总线的控制,并向内存提供地址;在内存与外围设备之间进行数据交换,每交换一个字则地址计数器和字计数器减1,当计数值到0时,DMA操作结束并向CPU提出中断申请。(3)DMA后处理工作:一旦DMA的中断请求得到响应,CPU将停止主程序的执行,转去执行中断服务程序进行DMA操作的后处理。包括校验送入内存的数据是否正确;决定使用DMA方式传送数据还是结束传送;测试传送过程中是否发生错误。返回返回
9、汇编语言汇编语言淮南师范学院重点课程淮南师范学院重点课程 9.3 9.3 中断中断 9.3.1 9.3.1 中断概念中断概念 1 1中断概念中断概念计算机在执行程序的过程中,在出现异常情况或特殊请求时,计计算机在执行程序的过程中,在出现异常情况或特殊请求时,计算机停止现行运行程序,转向对这些异常情况或特殊请求的处理,处算机停止现行运行程序,转向对这些异常情况或特殊请求的处理,处理结束后再返回到现行程序的间断处,称之为计算机上的理结束后再返回到现行程序的间断处,称之为计算机上的“中断中断”。2 2中断的应用场合中断的应用场合(1)及时处理计算机中的紧急事件及时处理计算机中的紧急事件突突发发故故障
10、障在在用用户户程程序序中中是是无无法法反反映映的的,但但它它的的出出现现可可导导致致运运行行结结果果出出错错,甚甚至至出出现现意意想想不不到到的的后后果果,为为了了及及时时处处理理这这些些故故障障,应应该该采采用用中中断方式。断方式。(2)协调主机与外设工作速度协调主机与外设工作速度 大大部部分分外外设设的的工工作作速速度度均均低低于于CPUCPU,采采用用程程序序查查询询方方式式,会会占占用用了了CPUCPU的宝贵时间。采用中断控制方式,可以很好的解决这一问题。的宝贵时间。采用中断控制方式,可以很好的解决这一问题。(3)实时控制实时控制汇编语言汇编语言淮南师范学院重点课程淮南师范学院重点课程
11、9.3.2 9.3.2 中断源、中断类型码和中断优先级中断源、中断类型码和中断优先级 1 1中断源中断源 引起中断的原因或来源称为中断源(Interrupt source)。(1)外部中断 不是因为CPU内部原因产生的中断,称为外部中断。而外部中断又分为非屏蔽中断NMI和可屏蔽中断INTR两种。(2)内部中断 由CPU内部产生的中断,称为内部中断。按引发情况可分为3类。例如除法运算出错、执行软中断指令、单步中断等。2 2中断类型码中断类型码 PC机为每一个中断源分配一个号码,称为中断类型码。这些中断类型码在PC机中是唯一的,有的是系统统一规定的,有的是由用户指定中断类型码。汇编语言汇编语言淮南
12、师范学院重点课程淮南师范学院重点课程 3 3中断优先级中断优先级 在某时如只有一个中断源提出中断请求,在某时如只有一个中断源提出中断请求,若它是非屏蔽中断源,那么若它是非屏蔽中断源,那么CPUCPU就会立即响应就会立即响应它的请求;若它是可屏蔽中断源,只要它的请求;若它是可屏蔽中断源,只要IF=1IF=1,CPUCPU也会立即响应它的请求。但是,如果在同也会立即响应它的请求。但是,如果在同一时刻有几个中断源同时提出中断请求,一时刻有几个中断源同时提出中断请求,CPUCPU只能先响应只能先响应1 1个中断源,如果个中断源,如果CPUCPU响应了一个中响应了一个中断源的中断请求后,在执行中断处理程
13、序的时断源的中断请求后,在执行中断处理程序的时候,又有一个中断源提出中断请求,候,又有一个中断源提出中断请求,CPUCPU能否能否响应这个新的中断请求,这就引出了中断优先响应这个新的中断请求,这就引出了中断优先级问题。级问题。汇编语言汇编语言淮南师范学院重点课程淮南师范学院重点课程 9.3.3 9.3.3 中断矢量表中断矢量表 不不同同的的中中断断来来自自不不同同的的中中断断源源,因因此此有有着着不不同同的的处处理理任任务务,PCPC机机有有256256个个不不同同的的中中断断,对对每每一一个个中中断断源源都都要要设设计计一一个个中中断断处处理理程程序序,而而且且每每一一个个中中断断程程序序都
14、都有有自自己己的的入入口口地地址址,将将256256个个中中断断程程序序的的入入口口地地址址放放到到一一起起,就就形形成成了了一一个个表表,称称之之为为中中断断矢矢量量表表。PCPC机机的的中中断断矢矢量量表表是是在在在在内内存存最最小小地地址址的的1 1k k字字节节(绝绝对对地地址址为为:0000000000H003FFHH003FFH)空空间间建建立立的的,由由此此表表确确定定了了中中断断类类型型码码与与该该中中断断源源所所对对应应的的中中断断处处理理程程序序之之间间的的一一一一对对应应联联系系。图图9.129.12给给出出中中断断矢矢量量表表的的安安排排,表表内内存存放放有有25625
15、6个个中中断断处处理理程程序序入入口口地地址址。每每个个入入口口地地址址由由4 4个个字字节节组组成成,两两个个低低字字节节存存放放入入口口地地址址的的偏偏移移量量,两两个个高高字字节节存存放放它它的的段段基基值值。中中断断响响应应以以后后,表表中中对对应应的的4 4个个字字节节的的内内容容分分别别被被送送人人IPIP和和CSCS,完完成成程程序序转转移移。表表中中中中断断类类型型0 0、类类型型1 1、类类型型2 2等等表表示示这这个个入入口口地地址址对对应应的的中中断断类类型型码码。如如果果已已知知现现在在响响应应中中断断的的中中断断类类型型码码,就就可可以以从从中中断断矢矢量量表表中中找
16、找到到该该中中断断源源的的处处理理程程序序入入口地址。设中断类型码为口地址。设中断类型码为N N,则有:则有:中断矢量地址中断矢量地址=中断类型号中断类型号*N N 也就是(也就是(4*4*N N,4*N4*N十十1 1)IPIP;(4*N+2(4*N+2,4*N4*N十十3)3)CSCS 这这样样就就把把中中断断处处理理程程序序的的入入口口地地址址的的偏偏移移量量和和段段基基值值分分别别送送人人IPIP和和CSCS,然后到此地址执行该中断的服务子程序。然后到此地址执行该中断的服务子程序。汇编语言汇编语言淮南师范学院重点课程淮南师范学院重点课程9.3.4 9.3.4 中断过程中断过程 一个完整
17、的中断过程,要先后经历中断请求、中断响应、中断处理及中断返回等4步骤。1 1中断请求中断请求 这是引起中断的第1步。中断源产生中断请求的条件,对不同的中断源是不一样的。2 2中断响应中断响应 CPU在每执行一条指令的后期,都要查询是否有中断请求。若有,就按照优先顺序给予响应或不响应。查询中断请求按优先级从高到低的顺序进行。如果CPU响应,就识别并读出得到响应的中断源的类型码。3中断处理 由于每个中断处理的任务不同,因此具体中断处理不可能一样,但是也存在一些共性。,简单的说中断处理一般可由四个部分组成,即:现场保护、具体中断处理、现场恢复以及中断返回指令。4中断返回 每一个中断处理子程序的最后要
18、使用中断返回指令IRET以退出中断,返回原断点处。该指令是无操作数指令,其功能是:首先从堆栈中弹出中断断点地址,分别送人IP和CS,然后恢复标志寄存器内容。汇编语言汇编语言淮南师范学院重点课程淮南师范学院重点课程9.3.5 软中断及有关的中断指令 软中断属于内部中断,软中断(Soft Interruptions)指令的格式为:INT n 其中n为中断类型号。PC机的软中断分为BIOS中断、DOS中断和自由中断三部分。1 1BIOS BIOS 中断(中断(1010H-1FHH-1FH)固化在ROM中,称为ROM BIOS,常用中断有:INT 10H-屏幕显示 INT 13H-磁盘读写 INT 1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言程序设计 汇编语言 程序设计

限制150内