资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,fhfgh,幸运,*,幸运,幸运,BIOS功能调用,(课本P.241),BIOS(Basic Input/Output System)是驻留在ROM中的程序,提供了系统加电自检,引导装入以及对主要I/O接口的控制等功能。提供了最基本的系统硬件与软件间的接口。包括开机自检,显示器、键盘和打印机的字符传送,图形发生等。主要以中断处理程序的形式提供I/O设备的处理程序和常用例行程序。,表,8.4BIOS,中断调用表,幸运,BIOS功能调用(课本P.241)BIOS(Basic In,用户程序和操作系统关系示意图,幸运,用户程序和操作系统关系示意图幸运,BIOS,中断调用方法,(,1,)设置分功能号。按实现的操作功能的要求,给指定寄存器(通常为,AH,)送入分功能号。,(,2,)设置入口参数。按操作要求,给寄存器填写相应参数的内容(某些调用无参数)。,(,3,)使用中断语句,INT n,。执行调用的功能,其中,n,为中断号。,(,4,)分析出口参数。,如:,MOVAH, 0,;分功能号为,0,MOV AL, 10H,;置入口参数,INT1AH,;,1AH,为中断号,功能为读时间计数器的值,幸运,BIOS中断调用方法(1)设置分功能号。按实现的操作功能的,显示器中断调用(10H中断调用),有关显示输出的DOS功能调用不多,而BIOS调用(INT 10H)的功能很强,主要包括设置显示方式,设置光标大小和位置,设置调色板号,显示字符和显示图形等,见表8.5。,幸运,显示器中断调用(10H中断调用)有关显示输出的DOS功能调,(1)设置显示方式(0号功能),入口参数:AH=0,AL=设置方式,见表8.6。,出口参数:无,表8.6 显示器工作方式,功能号 类型 分辨率 颜色,00H,01H 文本 4025 16,02H,03H 文本 8025 16,04H,05H 图形 3202004,06H 图形 6402002,幸运,(1)设置显示方式(0号功能)幸运,(2)设置光标类型(1号功能),入口参数:AH=1,CH=光标开始行,CL=光标结束行。,出口参数:无。根据CX给出光标的大小。,(要在纯DOS下才能实现),mov ch,1,mov cl,3,mov ah,1,int 10h,幸运,(2)设置光标类型(1号功能)幸运,(3)设置光标位置(2号功能),入口参数:AH=2,BH=页号,DH=行号,DL=列号。,出口参数:无。根据DX给出确定光标的位置。,(4)在当前光标位置写字符和属性(9号功能),入口参数:AH=9,BH=页号,AL=字符的ASCII码,BL=字符属性,CX=写入字符数。,出口参数:无。在当前光标处,可连续写CX个字符。,幸运,(3)设置光标位置(2号功能)幸运,例1:在第0页(20,25)的位置显示3个*,mov bh,0 ;第0页,mov dl,25 ;坐标,mov dh,20,mov ah,2 ; 设置光标位置,int 10h,mov al,* ; 要显示的字符,mov bh,0 ; 第0页,mov bl,0c3h ; 颜色,mov cx,3 ; 字符个数,mov ah,9 ; 功能调用在光标位置显示字符,int 10h,mov ah,4ch,int 21h,幸运,例1:在第0页(20,25)的位置显示3个*幸运,(5)初始始窗口或向上滚动(6号功能),入口参数:AH=6,AL=上滚行数(当AL=0时,整个屏幕为空白),CX=上滚窗口左上角的行、列号。DX=上滚窗口右上角的行、列号。BH=空白行的属性。,出口参数:无。当滚动后,顶部为空白输入行。,(6)初始窗口或向下滚动(7号功能),入口参数:AH=7,AL=下滚行数(当AL=0时,整个屏幕为空白),CX=下滚窗口左上角的行、列号。DX=下滚窗口右上角的行、列号。BH=空白行的属性。,出口参数:无。当滚动后,底部为空白输入行。,BH属性见表8.7-表8.10,幸运,(5)初始始窗口或向上滚动(6号功能)幸运,例2. 清屏幕的左半边,呈反相显示(白底黑字BH=70H).(BH=07H 黑底白字)(BH=0 不显示),mov ah,7 ;下滚,mov al,0 ;行数,0为全屏,mov bh,70h ;属性,mov ch,0 ;区域坐标,mov cl,0,mov dh,24,mov dl,39,int 10h,mov al,0,幸运,例2. 清屏幕的左半边,呈反相显示(白底黑字BH=70H).,例3.清屏幕,并在小窗口显示键盘输入的字符,按回车键结束,mov ah,6 ;上滚当前页,mov al,0 ;行数,0为整个屏幕,mov ch,0 ;区域坐标,mov cl,0,mov dh,24,mov dl,79,mov bh,07H ;黑底白字,int 10h ;清屏幕,幸运,例3.清屏幕,并在小窗口显示键盘输入的字符,按回车键结束幸运,pos: mov ah,2 ;设置光标位置,mov bh,0,mov dh,16 ;起始坐标,mov dl,30,int 10h,mov cx,20 ;每行显示的个数,get: mov ah,1 键盘输入一个字,int 21h,cmp al,0dh ;是否是回车键,jz exit,loop get,mov ah,6 ;上滚一行,mov al,1,mov ch,8 ;区域坐标,mov cl,30,mov dh,16,mov dl,50,mov bh,37 ;颜色,int 10h,jmp pos,exit:,幸运,pos: mov ah,2 ;设置光标位置,(7)写字符串到指定的页面(AH=13H),入口参数:ES:BP=要显示字符串的地址,CX=字符串的长度;DH=起始光标行号,DL=列号;BH=页号;AL=方式代码;BL=属性,结果:在屏幕的任意位置显示彩色的字符串,幸运,(7)写字符串到指定的页面(AH=13H)幸运,例4.用INT 10H功能调用,在屏幕左上角显示字符串,DSeg Segment,string db This is Form of *.EXE ,len db $-string,dSeg ends,CSeg Segment,Assume cs:CSeg,ds:DSeg,es:dseg,Start: mov ax,DSeg,mov ds,ax,幸运,例4.用INT 10H功能调用,在屏幕左上角显示字符串幸运,mov al,3 ;,设置,8025,彩色显示模式,mov ah,0,int 10h,mov bp,seg string ;,段地址送,ES,,偏移地址送,BP,mov es,bp,mov bp,offset string,mov cl,len ;,字符串长度,mov ch,0,mov dx,0 ;,光标起始位置,mov bl,41h ;,属性,mov al,0 ;,光标不移动,mov ah,13h ;,显示字符串功能调用,int 10h,幸运,mov al,3 ;设置8025彩色显示模式幸运,例5从(10,20)的位置开始用*画一条斜线,mov ah,0 ;设置字符显示模式,mov al,3,int 10h,mov cx,1 ;一次显示一个字符,mov dl,10 ;起始位置,mov dh,20,set: mov ah,2 ;设置光标位置,int 10h,mov al,* ;显示的字符,mov ah,0ah,;功能调用,在光标位置显示字符,属性不变,int 10h,dec dh,inc dl,cmp dh,0,jne set,幸运,例5从(10,20)的位置开始用*画一条斜线幸运,set1:mov ah,2,int 10h,mov al,2,mov ah,0ah,int 10h,inc dh,inc dl,cmp dh,21,jne set1,例6.接例5写程序,画出下面图形,笑脸的ASC码为2,幸运,例6.接例5写程序,画出下面图形,笑脸的ASC码为2幸运,幸运,幸运,
展开阅读全文