Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Новая_Арх.комп.обезано(ПМ).doc
Скачиваний:
8
Добавлен:
17.09.2019
Размер:
707.58 Кб
Скачать

Приложение а справочная информация по вызовам bios

BIOS клавиатуры (прерывание 16h)

ah = 0 – чтение и выборка (с ожиданием нажатия) из буфера клавиатуры.

После выполнения:

ah = скан-код,

al = ASCII-код;

ah = 1 – проверка готовности, чтение без выборки из буфера клавиатуры.

После выполнения:

zf = 0 – в буфере есть символ,

zf = 1 – символа нет.

Если символ есть, то коды считываются аналогично предыдущему, но из буфера не стираются;

ah = 2 – чтение байта состояния клавиатуры (адрес 417h).

После выполнения:

al = байт состояния клавиатуры.

Видеосервис BIOS (прерывание 10h)

ah = 0 – установка видеорежима:

al

видеорежим

разрешение

цветность

0

текстовый

4025

черно-белый

1

текстовый

4025

16 цветов

2

текстовый

8025

черно-белый

3

текстовый

8025

16 цветов

4

графический

320200

4 цвета

5

графический

320200

черно-белый

6

графический

640200

черно-белый

ah = 1 – установка размера курсора.

ch – начальная строка растра для курсора,

cl – конечная строка растра для курсора;

ah = 2 – установка позиции курсора.

dh – номер строки,

dl – номер колонки,

bh – номер активной видеостраницы;

ah = 3 – считывание позиции курсора.

bh – номер активной видеостраницы.

Возвращает в регистрах:

dh – номер строки,

dl – номер колонки,

ch – начальная строка растра для курсора,

cl – конечная строка растра для курсора;

ah = 6 – прокрутка окна вверх.

al – число строк прокрутки,

ch – номер строки верхнего левого угла,

cl – номер колонки верхнего левого угла,

dh – номер строки правого нижнего угла,

dl – номер колонки правого нижнего угла,

bh – атрибут пустых строк;

ah = 7 – прокрутка окна вниз.

al – число строк прокрутки,

ch – номер строки верхнего левого угла,

cl – номер колонки верхнего левого угла,

dh – номер строки правого нижнего угла,

dl – номер колонки правого нижнего угла,

bh – атрибут пустых строк;

ah = 8 – считывание символа и атрибута.

bh – номер активной видеостраницы.

Возвращает в регистрах:

al – символ ASCII, считанный в позиции курсора,

ah – атрибут символа;

ah = 9 – запись символа и атрибута.

al – символ ASCII,

bl – атрибут символа,

bh – номер активной видеостраницы,

cx – число записей пар символатрибут;

ah = 12 – запись пиксел.

al – код цвета пиксела,

dl – номер строки пиксела,

cx – номер колонки пиксела;

ah = 13 – считывание пиксела.

Возвращает в регистрах:

al – код цвета пиксела,

dl – номер строки пиксела,

cx – номер колонки пиксела;

ah = 15 – считывание текущего видеорежима.

Возвращает в регистрах:

al – номер текущего видеорежима,

ah – число символов в строке,

bh – номер активной страницы.

BIOS работы с дискетой (прерывание 13h)

ah = 0 – установка дискеты в начальное состояние. Используется для сброса контроллера и привода дисковода.

ah = 1 – получение состояния дискеты.

Возвращает в регистре al состояние дискеты:

al

Значение

0

ошибок нет

1

неверная команда

2

неверный адресный маркер

3

ошибка защиты записи

4

нет заданного сектора

8

ошибка DMA

16

ошибка контроля четности

32

ошибка контроллера

64

ошибка поиска

128

тайм-аут (дисковод не отвечает)

ah = 2 – прочитать секторы дискеты.

dl – номер дисковода,

dh – номер головки,

ch – номер дорожки,

cl – номер сектора,

al – число секторов, которые нужно прочитать,

es:bx – адрес буфера обмена информацией;

ah = 3 – записать секторы дискеты.

dl – номер дисковода,

dh – номер головки,

ch – номер дорожки,

cl – номер сектора,

al – число секторов, которые необходимо записать,

es:bx – адрес буфера обмена информацией;

ah = 4 – проверить секторы дискеты.

dl – номер дисковода,

dh – номер головки,

ch – номер дорожки,

cl – номер сектора,

al – число проверяемых секторов;

ah = 5 – форматировать дорожку дискеты.

dl – номер дисковода,

dh – номер головки,

ch – номер дорожки,

al – число секторов на дорожке,

es:bx – адрес индивидуальных маркеров секторов.

Для каждого сектора выделяется по 4 байта описания: 1 – (C) – номер цилиндра, 2 – (H) – номер головки, 3 – (S) – номер сектора, 4 – (N) – число байт в секторе.

N

размер сектора (байт)

0

128

1

256

2

512

3

1024