中断信息可以来自CPU的内部和外部,当CPU的内部有需要处理的事情发生的时候,将产生需要马上处理的中断信息,引发中断过程。
目录
一、int指令
1.int指令的格式为:int n,n为中断类型码,它的功能是引发中断过程。
2.CPU执行int指令,相当于引发一个n号中断的中断过程,执行过程如下:
(1)取中断类型码n;
(2)标志寄存器入栈,IF=0,TF=0;
(3)CS、IP入栈。
(4)(IP)=(n*4),(CS)=(n*4+2)。
从此处转去执行n号中断的处理程序。
二、BIOS和DOS所提供的中断例程
1.在系统板的ROM中存放着一套程序,称为BIOS(基本输入输出系统),BIOS中主要包含以下几部分内容:
(1)硬件系统的检测和初始化程序。
(2)外部中断和内部中断的中断例程。
(3)用于对硬件设备进行I/O操作的中断例程。
(4)其他和硬件相关的中断例程。
2.操作系统DOS也提供了中断例程,从操作系统的角度来看,DOS的中断例程就是操作系统向程序员提供的编程资源。
3.BIOS和DOS在所提供的中断例程中包含了许多子程序,这些子程序实现了程序员在编程的时候经常需要用到的功能。程序员在编程的 时候,可以用int指令直接调用BIOS和DOS提供的中断例程,来完成这些工作。
4.和硬件设备相关的DOS中断例程中,一般都调用了BIOS的中断例程。
三、BIOS和DOS中断例程的安装过程
(1)开机后,CPU一加电,初始化(CS)=0FFFFH,(IP)=0,自动从FFFF:0单元开始执行程序。FFFF:0处有一条转跳指令,CPU执行该指令后,转去执行BIOS中的硬件系统检测和初始化程序。
(2)初始化程序将建立BIOS所支持的中断向量,即将BIOS提供的中断例程的入口地址登记在中断向量表中。注意,对于BIOS所提供的中断例程,只需将入口地址登记在中断向量表中即可,因为它们是固化到ROM中的程序,一直在内存中存在。
(3)硬件系统检测和初始化完成后,调用int 19h进行操作系统的引导。从此将计算机交给操作系统控制。
(4)DOS启动后,除完成其他工作外,还将它所提供的中断例程装入内存,并建立相应的中断向量。
四、DIOS中断例程应用
1.int 10h 中断例程是BIOS提供的中断例程,其中包含了多个和屏幕输出相关的子程序
2.一般来说,一个供程序员调用的中断例程中往往包含多个子程序,中断例程内部用传递进来的参数来决定执行哪一个子程序,BIOS和DOS提供的中断例程,都用ah来传递内部子程序的编号
3.int 10h中断例程的设置光标位置功能:
mov ah,2 ;置光标
mov bh,0 ;第0页
mov dh,5 ;dh中放行号
mov dl,12 ;dl中放页号
int 10h
4.(ah)=2表示调用第10h号中断例程的2号子程序,功能为设置光标位置,可以提供光标所在的行号,列号和页号作为参数,(bh)=0,(dh)=5,(dl)=12,设置光标到第0页,第5行,第12列
5.bh中页号的含义:内存地址中,B8000H~BFFFFH共32KB的空间,为80*25彩色字符模式的显示缓冲区,一屏的内容在显示缓冲区中占4000个字节
6.显示缓冲区分为8页,每页4KB(约4000字节),也就是说,通常情况下,B8000H~B8F9FH中的4000个字节的内容将出现在显示器上