您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 08第八章 输入输出与中断
第八章输出输入与中断主讲人:秦勉8.1输入输出的基本概念I/O接口主存储器系统总线辅助存储器输入设备输出设备CPU寄存器控制器运算器时钟1基本概念I/O端口:CPU与输入(如键盘)和输出(如显示器)设备交换数据的通道。I/O端口地址与内存之间相互独立,不能用普通的访问内存指令来访问其信息,在CPU指令系统中专门设置了I/O指令来存取I/O端口的信息。I/O端口地址2I/O指令IN/OUT(输入/输出指令)格式:INAL,Idata;OUTIdata,ALINAX,Idata;OUTIdata,AXMOVDX,20fHINAL,DX;INAL,20FHINAX,DX;INAL,20FHINAH,210HOUTDX,AL;OUTDX,AX8.2中断1.中断的基本概念2.引起中断的指令(INT)3.中断功能的分类①键盘输入的中断功能②屏幕显示的中断功能1中断的基本概念1.中断:CPU暂停当前程序的执行,转而执行处理紧急事务的程序,并在该事务处理完后能够自动恢复执行原先程序的过程。2.中断源:引起紧急事务的事件①外设的输入输出请求(键盘输入引起的中断)②计算机内部的异常事件(0做除数)3.中断服务程序:处理紧急事务的程序中断向量表和中断服务程序1.中断向量表①特殊线性表,保存着系统中所有中断服务程序或系统参数的入口地址(偏移地址和段地址)②每个入口地址占4个字节即两个字③256个中断④中断向量号与中断服务程序入口地址的单元地址之间的关系2引起中断的指令中断指令INT格式:INT中断向量号(0~256)执行步骤:1.PUSHF,CLD,CLT2.PUSHCS,MOVCS,[0:22H]3.PUSHIP,INIP,[0:21H]INT21H中断返回指令IRET格式:IRET/IRETD(无显式操作数)功能:1.POPIP2.POPCS3.POPF8.3中断功能的分类按性质分类:可屏蔽中断、不可屏蔽中断按中断源分类:软件中断、硬件中断软中断:1.DOS系统功能调用2.BIOS中断功能调用3.硬件和外设的中断DOS系统功能调用系统功能调用是DOS为用户提供的常用子程序,可在汇编中直接调用主要功能:①设备管理(键盘、显示器、打印机、磁盘等)②文件管理和目录管理③其他管理(如内存、时间、日期等)调用方法:①AH←功能号②指定寄存器←入口参数③INT21h常用的系统功能调用键盘输入单个字符输入字符串输入显示输出单个字符显示字符串显示键盘输入-1号功能调用1号功能调用-从键盘输入单个字符格式:功能:等待从键盘输入一个字符,并将其ASCII码送入ALmovah,01hint21h1号功能调用键盘输入-10号功能调用10号功能调用-从键盘输入字符串功能:从键盘接收字符串送入内存的输入缓冲区,同时送显示器显示(带回显的键盘输入字符串)调用要求:先定义一个输入缓冲区(buffer)datasegmentmaxlendb100reallendb?stringdb100dup(0)dataendsdatasegmentbufferdb100,?,100dup(0)dataends缓冲区定义:1.第一个字节定义缓冲区长度2.第二个字节保存实际长度3.从第三个字节开始保存输入字符的ASCII码值调用格式:10号功能调用leadx,maxlen;movdx,offsetmaxlenmovah,10int21h显示输出-2号功能调用2号功能调用-在显示器上显示输出单个字符格式:功能:将DL中的字符送显示器显示movdl,待显示字符的ASCII码movah,2int21h2号功能调用显示输出-9号功能调用9号功能调用-显示器显示输出字符串调用格式:功能:将当前ds:dx所指向的以‘$’为结尾的字符串送显示器显示leaDX,字符串首偏移地址movah,9int21h9号功能调用应用举例【例1】编写一个程序,在屏幕上输入一个字符串,统计其中的数字符个数,英文字母的个数和字符串的长度,并用十进制显示出来。BIOS系统中断调用ROM-BIOSROM-BasicI/OSystem只读存储器基本输入输出系统固化在微机主板上的一个ROM芯片上的子程序主要功能:1.驱动系统中所配置的常用外设2.开机自检,引导装入3.提供时间、内存容量及设备配置情况等参数调用方法:INT中断类型码中断类型码BIOS中断功能调用10h显示器I/O中断调用16h键盘驱动调用17h打印机驱动调用13h磁盘驱动调用14h通信端口调用BIOS中断调用试用场合可考虑调用BIOS进行输入输出的三种场合需要利用BIOS提供而DOS不能提供的某个功能的场合不能利用DOS功能调用的场合处于某种原因需要绕过DOS的场合应用程序DOSBIOS外设硬件接口显示模式:文本显示模式图形显示模式80×25彩色字符模式显示缓冲区的结构:B8000h~BFFFFH共32KB的空间显示器可以显示25行,每行80个字符,每个字符有256种属性(背景色、前景色、闪烁、高亮等组合信息)一个字符在显示缓冲区中占两个字节,分别存放字符的ASCII码和属性一页显示缓冲区中:偏移000~09F,对应显示器上的第1行偏移0A0~13F,对应显示器上的第2行偏移140~1DF,对应显示器上的第3行……偏移F00~F9F,对应显示器上的第25行在一行中,一个字符占两个字节,低字节存储字符的ASCII码,高字节存储字符属性共80个字符,占160个字节在一行中:00~01单元对应显示器上的第一列02~03单元对应显示器上的第二列04~05单元对应显示器上的第三列……9E~9F单元对应显示器上的第80列若需要在显示器的0行0列显示黑底绿色的字符串’ABCDEF’在显示缓冲区的存储格式为:B800:0000410242024302440245024602……B800:0010……属性字节格式红底绿字:01000010b红底闪烁绿字:01000011b红底高亮绿字:01010010b黑底白字:00001110b白底蓝字:10000000bBLRGBIRGB76543210背景色前景色高亮闪烁
本文标题:08第八章 输入输出与中断
链接地址:https://www.777doc.com/doc-3258981 .html