曲径通幽论坛

标题: BIOS中断例程应用 [打印本页]

作者: beyes    时间: 2009-4-1 01:46
标题: BIOS中断例程应用
一、几个简单的调用例子     一般调用的中断例程中包含多个子程序,中断例程内部用传递进来的参数决定执行哪一个子程序。BIOS 和 DOS 提供的中断例程,都用 ah 来传递内部子程序的编号。
int 10h 号中断例程 2 号子程序,功能为设置光标位置。可以提供光标所在的行号、列号,页号作为参数。如
mov ah,2
mov  bh,0    ;第 0 页
mov  dh,5    ;放行号
mov   dl,12   ;放列号
int 10h
int 10h 号中断例程 9 号子程序,功能为在光标位置显示字符,可以提供要显示的字符,颜色属性,页号,字符重复个数作为参数。如:
mov ah, 9         ;置光标 mov al, 'a'         ;字符
 mov bl, 7           ;颜色属性
 mov bh, 0          ;第 0 页
 mov cx, 3           ;字符重复个数
 int 10h
int 21h 号中断例程 9 号子程序,在光标位置显示字符串:
 ds:dx    ;指向字符串,要显示的字符串用'$'作为结束符
mov ah,9  ;功能号 9 ,表示在光标位置显示字符串
二、int 指令在执行的时候,CPU进行了哪些工作?
(1) 取中断类型玛 n ;
(2) 标志寄存器入栈;
(3) IF = 0, TF = 0;
(4) CS,IP 入栈
(5) (IP) = (n*4),(CS)=(n*4+2)







欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2