Ru/api/kernel: Difference between revisions

From KolibriOS wiki
Jump to navigation Jump to search
Line 835: Line 835:


== Функция 63 - работа с доской отладки. ==
== Функция 63 - работа с доской отладки. ==
Доска отладки представляет собой системный буфер (на 4096 байт),
в который любая программа может записать (вообще говоря, произвольные)
данные и из которого другая программа может эти данные прочитать.
Есть соглашение, в соответствии с которым записываемые данные -
текстовые строки, интерпретируемые как отладочные сообщения о ходе
выполнения программы. Ядро в определённых ситуациях также записывает
на доску отладки сведения о выполнении некоторых функций;
по соглашению сообщения ядра начинаются с префикса "K : ".
Для просмотра доски отладки создано приложение board,
которое считывает данные из буфера и отображает их в своём окне. board
понимает последовательность кодов 13,10 как переход на новую строку.
Символ с нулевым кодом в конце строки не обязателен, но и не мешает.
В связи с появлением отладчика ценность доски отладки несколько
снизилась, поскольку отладчик позволяет полностью контролировать ход
выполнения программы, причём для этого не требуется никаких усилий
со стороны самой программы. Тем не менее во многих случаях
доска отладки продолжает оставаться полезной.
====== Запись байта ======
Параметры:
  * eax = 63 - номер функции
  * ebx = 1 - номер подфункции
  * cl = байт данных
Возвращаемое значение:
  * функция не возвращает значения
Замечания:
  * Байт записывается в буфер. Длина буфера - 512 байт.
    При переполнении буфера все полученные данные теряются
    и заполнение начинается снова с нуля.
  * Для вывода на доску отладки более сложных объектов (строк, чисел)
    достаточно этой функции, вызываемой в цикле. Можно не писать
    вручную соответствующий код, а воспользоваться файлом debug.inc,
    входящим в дистрибутив.
====== Чтение байта ======
Забирает байт из буфера.
Параметры:
  * eax = 63 - номер функции
  * ebx = 2 - номер подфункции
Возвращаемое значение:
  * eax = ebx = 0 - буфер пуст
  * eax = байт, ebx = 1 - байт успешно прочитан


== Функция 64 - перераспределить память приложения. ==
== Функция 64 - перераспределить память приложения. ==

Revision as of 07:26, 10 April 2010

СИСТЕМНЫЕ ФУНКЦИИ KolibriOS 0.7.7.0

Номер функции помещается в регистр eax. Вызов системной функции осуществляется командой "int 0x40". Все регистры, кроме явно указанных в возвращаемом значении, включая регистр флагов eflags, сохраняются.


Функция 0 - определить и нарисовать окно.

Определяет окно приложения. Рисует рамку окна, заголовок и рабочую область. Для окон со скином определяет стандартные кнопки закрытия и минимизации.

Описание функции перенесено в отдельную статью: Функция 0

Функция 1 - поставить точку в окне.

Описание функции перенесено в отдельную статью: Функция 1

Функция 2 - получить код нажатой клавиши.

Извлекает из буфера код нажатой клавиши.

Описание функции перенесено в отдельную статью: Функция 2

Функция 3 - получить системное время.

Описание функции перенесено в отдельную статью: Функция 3

Функция 4 - вывести строку текста в окно.

Описание функции перенесено в отдельную статью: Функция 4

Функция 5 - пауза.

Задерживает выполнение программы на заданное время.

Описание функции перенесено в отдельную статью: Функция 5

Функция 6 - прочитать файл с рамдиска.

Описание функции перенесено в отдельную статью: Функция 6

Функция 7 - вывести изображение в окно.

Описание функции перенесено в отдельную статью: Функция 7

Функция 8 - определить/удалить кнопку.

Описание функции перенесено в отдельную статью: Функция 8

Функция 9 - информация о потоке выполнения.

Описание функции перенесено в отдельную статью: Функция 9

Функция 10 - ожидать события.

Если очередь сообщений пуста, то ждет появления сообщения в очереди. В таком состоянии поток не получает процессорного времени. Затем считывает сообщение из очереди.

Описание функции перенесено в отдельную статью: Функция 10

Функция 11 - проверить, есть ли событие, без ожидания.

Если в очереди сообщений есть какое-то событие, то считывает и возвращает его. Если очередь пуста, возвращает нуль.

Описание функции перенесено в отдельную статью: Функция 11

Функция 12 - начать/закончить перерисовку окна.

Подфункция 1 - начать перерисовку окна. Подфункция 2 - закончить перерисовку окна.

Перенесены в отдельную статью: Функция 12

Функция 13 - нарисовать прямоугольник в окне.

Функция перенесена в статью Функция 13

Функция 14 - получить размеры экрана.

Описание функции перенесено в отдельную статью: Функция 14

Функция 15 - работа с фоновой графикой

Описание функции перенесено в отдельную статью: Функция 15

Функция 16 - сохранить рамдиск на дискету.

Описание функции перенесено в отдельную статью: Функция 16

Функция 17 - получить код нажатой кнопки.

Описание функции перенесено в отдельную статью: Функция 17

Функция 18 - системные настройки и информация

Описание функции перенесено в отдельную статью: Функция 18

Функция 20 - интерфейс MIDI.

Описание функции перенесено в отдельную статью: Функция 20

Функция 21 - установка системных параметров

Описание функции перенесено в отдельную статью: Функция 21

Функция 22 - установить системную дату/время.

Описание функции перенесено в отдельную статью: Функция 22

Функция 23 - ожидать события с таймаутом.

Описание функции перенесено в отдельную статью: Функция 23

Функция 24 - работа с проигрывателем компакт-дисков

Описание функции перенесено в отдельную статью: Функция 24

Функция 25 - установить громкость SBPro.

Удалена

Функция 26 - аппаратный сервис

Описание функции перенесено в отдельную статью: Функция 26

Функция 27

сведения об этой функции отсутствуют

Функция 28 - установить громкость SB16.

Удалена

Функция 29 - получить системную дату.

Описание функции перенесено в отдельную статью: Функция 29

Функция 30 - работа с текущей папкой.

Описание функции перенесено в отдельную статью: Функция 30

Функция 31

сведения об этой функции отсутствуют

Функция 32

Системная функция с этим номером использовалась в ранних версиях КОС для удаления файла с рамдиска. удалена

Функция 33

Системная функция с этим номером использовалась в ранних версиях КОС для записи файла на рамдиск. удалена

Функция 34

сведения об этой функции отсутствуют

Функция 35 - прочитать цвет точки на экране.

Описание функции перенесено в отдельную статью: Функция 35

Функция 36 - прочитать область экрана.

Описание функции перенесено в отдельную статью: Функция 36

Функция 37 - работа с мышью.

Описание функции перенесено в отдельную статью: Функция 37

Функция 38 - нарисовать отрезок.

Описание функции перенесено в отдельную статью: Функция 38

Функция 39 - чтение фона.

Описание функции перенесено в отдельную статью: Функция 39

Функция 40 - установить маску для ожидаемых событий.

Описание функции перенесено в отдельную статью: