Энциклопедия Turbo Pascal. Главы 1-4
Страница 57. Системные подпрограммы, вызываемые посредством прерываний




  Таблица 1
    Системные подпрограммы, вызываемые посредством прерываний
----------------------------------------------------------------
Регистр АН                     Функция
----------------------------------------------------------------
    Функции ввода-вывода на дисплей - прерывание 10h

    0         Установка режима экрана
               Если AL=0: 40х25 черно-белый;
                       1: 40х25 цветной;
                       2: 80х25 черно-белый;
                       3: 80х25 цветной;
                       4: 320х200 цветной графический;
                       5: 320х200 черно-белый графический;
                       6: 340х200 черно-белый графический
    1         Установка строк курсора
               Биты 0-4 СН содержат начало строки,
               биты 5-7 нулевые;
               биты 0-4 CL содержат конец строки,
               биты 5-7 нулевые
    2         Установка позиции курсора
               DH: строка,
               DL: столбец,
               ВН: номер страницы экрана
    3         Читать позицию курсора
               ВН: номер страницы экрана
              Результат:
               DH: строка,
               DL: столбец,
               СХ: режим
    4         Читать позицию светового пера
              Результат:
               если АН=0, то световое перо не инициировано;
               если АН=1, то световое перо инициировано;
               DH: строка,
               DL: столбец,
               СН: строка растра (0-199)
               ВХ: столбец элемента изображения (0-319 или
                                                 0-639)
    5         Установка активной страницы экрана
               AL может принимать значение от 0 до 7

    Функции ввода-вывода на дисплей - прерывание 10h

    6         Просмотр страницы вверх
               AL: число сдвигаемых строк (от нуля до всех)
               СН: строка верхнего левого угла,
               CL: столбец верхнего левого угла,
               DH: строка нижнего правого угла,
               DL: столбец нижнего правого угла,
               ВН: атрибуты пустой строки
    7         Просмотр страницы вниз
               см. предыдущую функцию
    8         Чтение символа в позиции курсора
               ВН: страница экрана,
              Результат:
               AL: считанный символ,
               АН: атрибут
    9         Записать символ и атрибут в позицию курсора
               ВН: страница экрана,
               BL: атрибут,
               СХ: число символов записи,
               AL: символ
   10         Записать символ в текущей позиции курсора
               ВН: страница курсора,
               СХ: число символов записи,
               AL: символ
   11          Установить палитру цвета
                ВН: номер палитры,
                BL: цвет
   12          Записать точку
                DX: номер строки,
                СХ: номер столбца,
                AL: цвет
   13          Читать точку
                DX: номер строки,
                СХ: номер столбца
               Результат:
                AL: считанная точка
   14          Записать символ на экран и продвинуть курсор
                AL: символ,
                BL: цвет,
                ВН: страница экрана
   15          Читать состояние экрана
               Результат:
                AL: текущий режим,
                АН: число столбцов на экране,
                ВН: текущая активная страница экрана

    Список оборудования - прерывание 11h

               Читать список оборудования
               Результат:
                АХ: список установленного оборудования:
                 бит 0: имеется одна из дискет,
                 бит 1: не используется,
                 бит 2,3: ЗУ системной платы, 11=64К,
                 бит 4,5: начальный режим экрана:
                  10: 80 столбцов, цветной,
                  11: монохромный,
                  01: 40 столбцов, цветной,
                 бит 6,7: число дисковых накопителей, 0=1
                 бит 8: установка микросхемы прямого доступа в
                        память, 0 - установлена
                 бит 9,10,11: число портов интерфейса RS-232
                 бит 12: 1 - установлен игровой адаптер,
                 бит 13: 1 - последовательное печатающее
                             устройство /только типа PCir/
                 бит 14,15: число печатающих устройств

    Размер памяти - прерывание 12h

                Результат представляет собой число килобайт
                оперативной памяти, имеющейся в системе
                Результат:
                 АХ: число килобайт ОЗУ

    Функции ввода-вывода на диск - прерывание 13h

    0           Сброс дисковой системы
    1           Чтение состояния диска
                Результат:
                 AL: состояние/см.техническое справочное
                     руководство фирмы ИБМ/
    2           Чтение секторов в память
                 DL: номер драйвера,
                 DH: номер головки,
                 СН: номер дорожки,
                 CL: номер сектора,
                 AL: число считываемых секторов,
                 ES:BX: адрес буфера
                Результат:
                 AL: число считанных секторов,
                 АН: нуль при успешном чтении, в противном
                     случае выдается состояние
    3           Запись секторов на диск
                 /как для операции чтения/
    4           Проверить
                 /как для операции чтения/
    5           Формат дорожки
                 DL: номер драйвера,
                 DH: номер головки,
                 СН: номер дорожки,
                 EL:BX: информация сектора

    Функции ввода-вывода посредством клавиатуры - прерывание 16h

    0           Чтение кода сканирования
                Результат:
                 АН: код сканирования,
                 AL: код символа
    1           Получить состояние буфера
                Результат:
                 ZE: 1 при пустом буфере,
                     0 при наличии символов и следующим
                     символом в регистре АХ
    2           Получить состояние клавиатуры
                (см.техническое справочное руководство
                 фирмы IBM)

    Функции ввода-вывода на печатающее устройство - прерывание
                         17h

    0           Печатать символ
                 AL: символ,
                 DX: номер печатающего устройства
                Результат:
                 АН: состояние
    1           Инициализировать печатающее устройство
                 DX: номер печатающего устройства
                Результат:
                 АН: состояние
    2           Читать состояние
                 DX: номер печатающего устройства
                Результат:
                 АН: состояние

    Функции ДОС высокого уровня - прерывание 21h (неполный
                      список)

    1           Чтение символа с клавиатуры
                Результат:
                 AL: символ
    2           Вывод символа на экран
                 DL: символ
    3           Чтение символа с асинхронного порта
                Результат:
                 AL: символ
    4           Запись символа по асинхронному порту
                 DL: символ
    5           Выдать символ на устройство из списка
                 DL: символ

   7           Чтение символа с клавиатуры без вывода на экран
                Результат:
                 AL: символ
    В           Проверить состояние клавиатуры
                Результат:
                 AL: OFFH при нажатии клавиши; 0 в противном
                     случае
    D           Сбросить диск
    E           Установить стандартный драйвер
                 DL: номер драйвера /0-А, 1-В,.../
   11           Поиск имени файла
   /4Е под 2.х/  DX: адрес блока FCB

    Функции ввода-вывода на экран - прерывание 10h

                Результат:
                 AL: 0, если найден, FFh, если не найден
   12           Найти следующее имя файла
   /4F под 2.х/  /как в предыдущем случае/
   1А           Установить адрес передачи диска
                 DX: адрес передачи диска
   2А           Получить дату системы
                Результат:
                 СХ: год /1980-2099/,
                 DX: месяц /1-12/,
                 DL: день /1-31/
   2В           Установить системную дату
                 СХ: год /1980-2099/,
                 DH: месяц /1-12/,
                 DL: день /1-31/
   2С           Получить системное время
                Результат:
                 СН: часы /0-23/,
                 CL: минуты /0-59/,
                 DH: секунды /0-59/,
                 DL: сотые секунды /0-99/
   2D           Установить системное время
                 СН: часы /0-23/,
                 CL: минуты /0-59/,
                 DH: секунды /0-59/,
                 DL: сотые секунды /0-99/

 
« Предыдущая статья