Программирование в среде IS-DOS 1993 г.

Список функций функции через 4-ый канал - функции управления устройствами. Описание уровня DOS.SYS.


8. СПИСОК ФУНКЦИЙ
ФУНКЦИИ ЧЕРЕЗ 4-ЫЙ КАНАЛ

8.1.1 #00. ФУНКЦИИ УПРАВЛЕНИЯ УСТРОЙСТВАМИ

= D0S.SYS =

0(00):create - Инициализация зл.диска с заданием размера (min=6 блоков). А - размер в блоках (260 байт/блок).

(Структуру описателя устройства см. в ПРИЛОЖЕНИИ 2.)
1(01):clear - Очистка электронного диска от блоков текущего устройства.

2(02):fush - Принудительное сохранение модифицированных блоков текущего уст-ва. Выход: NC - O.K., С - в А код

ошибки.

3(03):wodvfr - Запись измененного блока на эл.диск DE - номер блока, HL - адрес блока. (Выход см. предыдущий)
4(04):unird - Чтение блока с эл.диска, если его нет, то с устройства. DE - номер блока, HL - адрес блока. Вы-
ход -\-

5(05):mltrd - Чтение нескольких блоков подряд с электронного диска. В - количество блоков, DE - номер блока

начала, HL - адрес загрузки. Выход: с обработкой ошибок (см. предыдущий)
£(0£j:quard - Возвращает адрес блока текущего устройства, предварительно загружая его в электронный диск. DE -

номер блока. Выход: HL' - адрес блока. ( с обр.ошибок.)
7(07):ttyin - Ввод символа. Выход: А - код нажатой клавиши, флаг С - в расширенном режиме
8(08):kwait - Ожидание состояния клавиатуры с ненажатыми клавишами.-

9(09):ktest - Проверка на нажатие какой-либо клавиши. Выход: Z: не нажата, NZ: в А - код клавиши.
10(0А):ttyout - Вывод на экран символа в регистре А и перевод печати на следующую позицию.
11(0В):prcpl - Задание режима печати. А=0: прямой режим, иначе инверсный.

12(0С):prapd - Установка позиции для TTYOUT Н = координата У(сверху), L = координата Х(слева).

13(00):dread - Чтение с устройства минуя электронный диск. В - число бл., DE - номер бл., HL - адрес в памяти.

14(0E):*rte - Запись на устройство минуя электронный диск. В, DE, HL - аналогично dread.

15(0F):binit - Переход на процедуру инициализации драйвера блочного устройства. Необходима при первом обраще-
нии к новому блочному устройству ( например к каждой новой дискете ). Выход с обр. ош.
16(10):g_cnfg - Возврат вектора конфигурации ядра. HL'- адрес вектора конфигурации ядра, А - номер канала сис-
темного устройства ( см. ПРИЛОЖЕНИЕ 3.)
17(11):gkedv - Возврат вектора символьного устройства ввода. HL' - адрес вектора символьного устройства вво-
да, (HL')=K~CSR - Keyboard Control Status Register (см. ПРИЛОЖЕНИЕ 2.) A - номер канала теку-
щего символьного устройства ввода.
18(12):g_tydv - Возврат вектора символьного устройства вывода. HL' - адрес вектора символьного устройства вы-
вода, (HL')= длина курсора для данного устройства (см. ПРИЛОЖЕНИЕ 5.) А - номер канала текуще-
го символьного устройства вывода

«

19(13):gbldv - Возврат вектора блочного устройства HL' - адрес вектора блочного устройства. HL'=SCCSR, А -

номер канала блочного устройства (см. ПРИЛОЖЕНИЕ 6.) В тройке "д_.. dv''-рестартов в HL' возвра-
щается адрес вектора устройства, DE'=HL'-10, A=(DE').
20(14):gdrv - Возврат адреса тела драйвера в HL' по номеру устройства в А (от 0 до #17). Если O.K., то в А -

номер драйвера. (Равносилен :stchn; LD A,(HL)r; stchn; LD HL,(HL'+4).)
21(15):empty - He используется

22(16):stchn - Проверка состояния канала. A - номер канала. Выход: флаг С: А=код ошибки (нет канала и пр.) NC:

А=номер канала, HL'- адрес тела канала, ВС'=длина канала, DE'=($PTCHN) (см. ПРИЛОЖЕНИЕ 3).
23(17):delchn - Удаление канала. А = номер канала.
24(18):crchn - Создание канала. А = номер канала, DE = длина.

25(19):newchn - Создание канала пользователя. Вход: DE = длина. Выход: А - номер канала, HL' - адрес тела ка-
нала

26(1А):swkey - Переключение символьного устройства ввода. В = номер канала описателя символьного устройства

ввода.

27(IB):swtyp - Переключение символьного устройства вывода. В = номер канала описателя символьного устройства

вывода.

28(1С):swblk - Переключение блочных устройств. В = номер канала блочного устройства. Выход: с обр. ошибок. В

тройке "sw"-pecTapTOB во входном регистре В используются только 3 младших разряда.
29(10):ldnew - Подключение нового устройства любого типа. А = номер канала устройства, HL - адрес на 9 байт

меньше возвращаемого функциями g_kedv(17), g_tydv(18) и g_bldv(19). Каналы устройства и драй-
вера д.б. уже созданы и заполнены, (см.ПРИЛОЖЕНИЯ 2,5,6,7,8.)
30(1Е):1_тг2 - Добавление в цепочку (А<>0)/удаление из цепочки (А=0) процедуры, вызываемой по прерываниям от

таймера (IM 2). HL= адрес процедуры обработки прерываний. Перед процедурой резервируется 2 бай-
та (#0000) для адреса следующей процедуры.

31 (IF):erdrv - Вызывается драйверами в случае ошибки. Передает управление по адресу в векторе g_cnfg (см.ПРИ-
ЛОЖЕНИЕ 3.) В=0: Disk Error, D=track, E=sector; B=l: Read Only; B=2: No Disk; B=3: Break.




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Coding - Flying представляет макробиблиотеку: Memory Management Library.
Тайник - Кое что из POKES к играм (небольшую кучку поков).
Почта - Письма: какие они бывают...
Эхо-конференции - Список зарегистрированных эхо-конференций сети SPbZXNet. Список эхо-конференций гейтуемых из FIDO.
Оглавление - содержание выпуска.

В этот день...   29 марта