- •Вычисление некоторых элементарных функций с помощью сопроцессора.
- •Принципы работы
- •Префикс команд и адресация операндов
- •Форматы данных
- •Вещественные числа
- •Целые числа
- •Регистры сопроцессора
- •Численные регистры
- •Регистр тегов
- •Регистр управления
- •Регистр состояния
- •Регистры указателя команды и указателя операнда
- •Система команд сопроцессора
- •Ввод с клавиатуры и вывод данных на экран с помощью функций dos.
- •Сравнительная характеристика функций dos ввода с клавиатуры
- •Функции dos вывода данных на экран
- •ФункцииBios для работы с клавиатурой. Чтение символа с ожиданием
- •Проверка буфера на наличие в нем символов
- •Получение состояния переключающих клавиш
- •Установка временных характеристик клавиатуры
- •Запись символов в буфер клавиатуры
- •Чтение символа с ожиданием для 101-клавишной клавиатуры
- •Проверка буфера на наличие в нем символов для 101-клавишной клавиатуры
- •Получение состояния переключающих клавиш для 101-клавишной клавиатуры
- •Получение состояния переключающих клавиш для 101-клавишной клавиатуры
- •Функции bios для работы с экраном
- •Функции работы с памятью.
- •Описание:
Получение состояния переключающих клавиш
На входе: AH = 02h
На выходе: AL = Байт состояния переключающих клавиш
Функция возвращает в регистре AL состояние переключающих клавиш (Shift, Ctrl, Alt, ScrollLock, NumLock, CapsLock, Ins). Формат байта состояния соответствует формату байта, находящегося в области данных BIOS по адресу 0000h:0417h:
Биты Значение
0 Нажата правая клавиша Shift.
1 Нажата левая клавиша Shift.
2 Нажата комбинация клавиш Ctrl-Shift с любой
стороны.
3 Нажата комбинация клавиш Alt-Shift с любой
стороны.
4 Состояние клавиши ScrollLock.
5 Состояние клавиши NumLock.
6 Состояние клавиши CapsLock.
7 Состояние клавиши Insert.
Функция может быть использована для анализа текущего состояния переключающих клавиш.
Установка временных характеристик клавиатуры
На входе: AH = 03h;
AL = 05h;
BL = Период автоповтора (количество повторов
за одну секунду):
0 - 30.0; 0Ah - 10.0;
1 - 26.7; 0Dh - 9.2;
2 - 24.0; 10h - 7.5;
4 - 20.0; 14h - 5.0;
8 - 15.0; 1Fh - 2.0.
BH = Задержка включения режима автоповтора:
0 - 250 мс;
1 - 500 мс;
2 - 750 мс;
3 - 1000 мс.
На выходе: Не используются.
Если BIOS, установленная в вашей машине, изготовлена после 15 декабря 1985 года, вы можете воспользоваться этой функцией для ускорения (или замедления) работы клавиатуры.
Запись символов в буфер клавиатуры
На входе: AH = 05h;
CL = ASCII-код записываемого символа;
CH = скан-код записываемого символа, или 0.
На выходе: AL = 0 - запись выполнена успешно;
1 - буфер клавиатуры переполнен.
С помощью этой функции можно вставить символы в буфер клавиатуры, как будто они были введены оператором.
Чтение символа с ожиданием для 101-клавишной клавиатуры
Функция 10h полностью аналогична функции 00h, но она предназначена для работы с клавиатурой, имеющей 101 клавишу.
Приведем формат вызова функции:
На входе: AH = 10h.
На выходе: AL = ASCII-код символа или 0, если AH содержит
расширенный ASCII-код символа;
AH = скан-код или расширенный ASCII-код
символа, если AL=0.
Функция определена для BIOS, изготовленной не раньше 15 декабря 1985 года.
Проверка буфера на наличие в нем символов для 101-клавишной клавиатуры
На входе: AH = 11h.
На выходе: ZF = 0, если в буфере имеется код нажатой
на клавиатуре клавиши;
ZF = 1, если буфер клавиатуры пуст;
AL = ASCII-код символа или 0, если AH содержит
расширенный ASCII-код символа;
AH = скан-код или расширенный ASCII-код
символа, если AL=0.
Функция 11h полностью аналогична функции 01h, но она предназначена для работы с клавиатурой, имеющей 101 клавишу.
Эта функция определена для BIOS, изготовленной не раньше 15 декабря 1985 года.
