SysFn47/ru

From KolibriOS wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Функция 47 - вывод числа в окно


Параметры:

  • eax = 47 - номер функции
  • ebx = параметры преобразования числа в текст:
  • bl = 0 - ecx содержит число
  • bl = 1 - ecx содержит указатель на dword/qword-число
  • bh = 0 - отображать в десятичной системе счисления
  • bh = 1 - отображать в шестнадцатеричной системе
  • bh = 2 - отображать в двоичной системе
  • биты 16-21 = сколько цифр отображать
  • биты 22-29 зарезервированы и должны быть установлены в 0
  • бит 30 установлен = выводить qword (64-битное число);
при этом должно быть bl = 1
  • бит 31 установлен = не выводить ведущие нули числа
  • ecx = число (при bl=0) или указатель (при bl=1)
  • edx = [координата по оси x]*65536 + [координата по оси y]
  • esi = 0xXXRRGGBB, где
  • RR, GG, BB задают цвет текста
  • XX=0B0FCSSS (биты):
  • B=1 - закрашивать фон (цвет = edi)
  • F задает шрифт:
0 = 6x9
1 = 8x16
  • C=0 - рисовать в окно, С=1 - рисовать в буфер (edi)
  • SSS = (множитель размера)-1, то-есть 0 = x1, 7 = x8

Возвращаемое значение:

  • функция не возвращает значения

Замечания:

  • Указанная длина не должна превосходить 60.
  • Выводится ровно указанное количество цифр. Если число мало и может быть записано меньшим количеством цифр, оно дополняется ведущими нулями; если число велико и не может быть записано таким количеством цифр, "лишние" ведущие цифры обрезаются.
  • Подсказка: если нужно вывести число в десятичном виде, без лидирующих нулей, и кол-во цифр = n; то ecx = 0x800n0000. Почитать как это произошло можно здесь

Константы для регистров:

eax - SF_DRAW_NUMBER (47)