Bios dos
This presentation is the property of its rightful owner.
Sponsored Links
1 / 17

第九章 BIOS 和 DOS 中断 PowerPoint PPT Presentation


  • 120 Views
  • Uploaded on
  • Presentation posted in: General

第九章 BIOS 和 DOS 中断. 在存储器系统中,从地址 0FE000H 开始的 8KB ROM 中装有基本输入输出系统例行程序。 优点:利用 BIOS 功能编写的程序简洁、可读性强,而且易于移植。 磁盘操作系统 DOS 是 PC 机最重要的操作系统,有两个程序模块: IBMBIO.COM :输入输出设备处理程序。 IBMDOS.COM :包括一个文件管理程序和一些处理程序。 DOS 功能和 BIOS 功能都通过软件中断调用,其调用步骤: ( 1 )将调用的参数装入指定的寄存器 ( 2 )如需功能号,把它装入 AH

Download Presentation

第九章 BIOS 和 DOS 中断

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Bios dos

第九章 BIOS和DOS中断

  • 在存储器系统中,从地址0FE000H开始的8KBROM中装有基本输入输出系统例行程序。

    优点:利用BIOS功能编写的程序简洁、可读性强,而且易于移植。

  • 磁盘操作系统DOS是PC机最重要的操作系统,有两个程序模块:

    IBMBIO.COM:输入输出设备处理程序。

    IBMDOS.COM:包括一个文件管理程序和一些处理程序。

  • DOS功能和BIOS功能都通过软件中断调用,其调用步骤:

    (1)将调用的参数装入指定的寄存器

    (2)如需功能号,把它装入AH

    (3)如需子功能号,把它装入AL

    (4)按中断号调用DOS和BIOS中断

    (5)检查返回参数是否正确


Bios dos

9.1键盘I/O

  • 键盘是计算机最基本的一种输入设备,用来输入信息,以达到人机对话的目的。主要由三种基本类型键组成:

  • 字符数字键:A~Z、a~z、0~9、%、#、$ 等

  • 扩展功能键:如Home、End、Backspace、Delete、Insert、PgUp、PgD以及程序功能键F1~F10等

  • 和其他键组合使用的控制键:如Alt、Ctrl、Shift等

    注意:字符数字键给计算机传送一个ASCII码字符,而扩展功能键产生一个动作。

    键盘和主机通过五芯电缆连接,五根线分别是:电源线、地线、复位线、键盘数据线、键盘时钟线。


Bios dos

扫描码

当在键盘上“按下”或“放开”一个键时,如果键盘中断是

允许的(21H的端口第一位是0),就会产生一个类型为9的

中断,并转入到BIOS的键盘中断处理程序。

该处理程序从8255可编程外围接口芯片的输入端口60H

读取一个字节。

字节的低七位:扫描码

字节的最高位:0:表示“按下”状态,该字节称为通码

1:表示“放开”状态,该字节称为段码

字符码

BIOS处理程序把取得的扫描码转换成相应的字符码,大

部分键的字符码是一个标准的ASCII码。


Bios dos

转换成的字符码以及扫描码存储在ROM BIOS数据区的键盘缓冲区KB_BUFFER中.

0040: 001ABUFF _HEADDW?

0040: 001C BUFF _TAILDW?

0040: 001E KB _BUFFERDW16 DUP (?)

0040: 003E KB _BUFFER _END LABEL WORD

注意:该缓冲区是一个先进先出的循环队列,BUFF _HEAD和BUFF _TAIL是缓冲区的两个地址指针。

当这两个地址指针相等时,说明缓冲区是空。

当缓冲区已满又按下一个键时,BIOS不处理这个键,并发出“嘀”的声音。


Bios dos

BIOS键盘中断(INT 16H)

AH=0:从键盘读一个字符

返回参数:AL=字符码 AH=扫描码

AH=1:读数据缓冲区的字符

返回参数:当ZF=0时

AL=字符码 AH=扫描码

当ZF=1时

缓冲区空

AH=2:读键盘状态字节

返回参数:AL=键盘状态字节


Bios dos

DOS键盘功能调用 (INT 21H)

单字符输入

AH=1:键盘输入并回显(可用ctrl+c或ctrl+break自动退出)

AH=8 :不回显键盘输入(可用ctrl+c或ctrl+break自动退出)

AH=7:直接键盘输入

(不支持ctrl+c或ctrl+break退出,也不回显)

入口参数:无

出口参数:AL=输入字符的ASCII码

AH=6:直接读写控制台

(DL)=00H~0FEH时,请求输出字符

(DL)=0FFH时,请求读键盘字符


Bios dos

输入字符串

AH=0AH:从键盘输入一串字符并把它存入用户定义的缓冲区中

缓冲区:第一个字节保存最大字符数(由用户给出)

第二个字节保存实际输入字符数(由计算机自动填入)

之后的字节存放字符串(包括结束标志回车在内)

缓冲区的长度 = 最大字符数 + 2

检验键盘状态

AH=0BH:检验键盘是否被按动,若按动,AL=0FFH

否则,AL=00H


Bios dos

清除键盘缓冲区

AH=0CH:清除键盘缓冲区,然后执行AL中指定的功能。

AL=1、6、7、8或0AH

例:MOVAH,0CH

MOVAL,08H

INT21H

优点:可以避免由于偶然超前输入的字符而出现的错误。


Bios dos

9.2显示器I/O

显示器通过显示适配器与PC机连接,显示器可以简单的分成单色显示器和彩色显示器。

显示适配器也称为显示卡,可分为:

单色显示适配器(MDA)

彩色图形适配器(CGA)

增强型图形适配器(EGA)

视频图形阵列适配器(VGA)


Bios dos

0 × 79

0 × 0

24× 0

24 ×79

字符属性

显示器的屏幕通常划分为行和列的一个二维系统,显示适配器并在行和列组成的网格位置上显示字符。

例如:25行× 80列的屏幕

对应屏幕上的每个字符,在存储器中由连续的两个字节表示,一个字节保存ASCII码,另一个字节保存字符的属性。


Bios dos

字符显示

单色字符显示:字符的属性定义了字符的显示特征。

彩色字符显示:属性字节能够选择前景(显示的字符)和背景

的颜色。

显示存储器(显存)

对于所有的显示适配器,文本方式下显示字符的原理都是一样的,所不同的是各种适配器的视频显示存储器的起始地址不同:

MDA显存的起始地址为:B000H:0000H

CGA、EGA、VGA显存的起始地址为B800H:0000H


Bios dos

屏幕上某一字符位置在显存中的偏移地址为:

Char_offset = page_offset + ( (row × width) +column) × byte

其中: Char_offset 是在显存中的偏移地址

page_offset 是页偏移地址

row 是行号

column是列号

width是每行可显示的字符数

byte在显存中表示每个字符所用的字节数


Bios dos

例9.7

VIDEOMACROWIDTH,PAGE _NUM

PUSH AX

MOV AL,WIDTH

MULDH

XORDH,DH

ADDAX,DX

SHLAX,1

ADDAX,PAGE_NUM*1000H

MOVDI,AX

POPAX

ENDM


Bios dos

BIOS显示中断(INT 10H)

控制光标

AH=1:控制光标的行的开始和结束,控制光标的显现和关闭

(CH)0~3 = 光标开始行(CH)4 = 1: 光标关闭

(CL)0~3 = 光标结束行(CH)4 = 0: 光标显现

AH=2:设置光标的位置。

(BH)=页号 (DH)=行号 (DL)=列号

读光标位置

AH=3:读光标的位置,页好必须在BH中指定。

(DH)= 行号 (CH)=光标开始行

(DL)=列号(CL)=光标结束行


Bios dos

清屏和卷屏

AH=6:使屏幕内容上卷指定的行。

AH=7:使屏幕内容下卷指定的行。

字符显示

AH=09H:把一个字符及其属性送到显示屏幕,然后光标返

回到它的初始位置。

AH=0AH:只把字符送到显示屏幕,然后光标返回到它的

初始位置。

AH=08H:可读取当前光标位置的字符及其属性。


Bios dos

彩色和字符串显示

AH=09H:显示彩色字符时,BL中设置的数据应为前景和

背景属性值。

AH=13H:显示字符串有4种方式:

AL=0或1,必须指定整个显示字符串的属性。

AL=2或3,必须指定每个字符的属性。


Bios dos

DOS显示功能调用(INT 21H)

AH=2:显示一个字符(检验Ctrl+Beak)

入口参数:DL=字符

AH=6:显示一个字符(不检验Ctrl+Beak)

入口参数:DL=字符

AH=9:显示字符串

入口参数:DS:DX=串地址(‘$’结束标志)


  • Login