Difference between revisions of "SysFn47/ru"

From KolibriOS wiki
Jump to navigation Jump to search
m
Line 1: Line 1:
'''Функция 47 - вывод числа в окно'''
+
'''Функция 47''' - вывод числа в окно
  
 
----
 
----
 
Параметры:
 
Параметры:
* eax = 47 - номер функции
+
:* eax = 47 - номер функции
* ebx = параметры преобразования числа в текст:
+
:* ebx = параметры преобразования числа в текст:
:* bl = 0 - ecx содержит число
+
::* bl = 0 - ecx содержит число
:* bl = 1 - ecx содержит указатель на dword/qword-число
+
::* bl = 1 - ecx содержит указатель на dword/qword-число
:* bh = 0 - отображать в десятичной системе счисления
+
::* bh = 0 - отображать в десятичной системе счисления
:* bh = 1 - отображать в шестнадцатеричной системе
+
::* bh = 1 - отображать в шестнадцатеричной системе
:* bh = 2 - отображать в двоичной системе
+
::* bh = 2 - отображать в двоичной системе
:* биты 16-21 = сколько цифр отображать
+
::* биты 16-21 = сколько цифр отображать
:* биты 22-29 зарезервированы и должны быть установлены в 0
+
::* биты 22-29 зарезервированы и должны быть установлены в 0
:* бит 30 установлен = выводить qword (64-битное число);
+
::* бит 30 установлен = выводить qword (64-битное число);
::при этом должно быть bl = 1
+
:::при этом должно быть bl = 1
:* бит 31 установлен = не выводить ведущие нули числа
+
::* бит 31 установлен = не выводить ведущие нули числа
* ecx = число (при bl=0) или указатель (при bl=1)
+
:* ecx = число (при bl=0) или указатель (при bl=1)
* edx = [координата по оси x]*65536 + [координата по оси y]
+
:* edx = [координата по оси x]*65536 + [координата по оси y]
* esi = 0xX0RRGGBB:
+
:* esi = 0xX0RRGGBB:
:* RR, GG, BB задают цвет
+
::* RR, GG, BB задают цвет
:* X = ABnn (биты)
+
::* X = ABnn (биты)
 
::* nn = шрифт (0/1)
 
::* nn = шрифт (0/1)
 
::* A игнорируется
 
::* A игнорируется
 
::* B=1 - закрашивать фон цветом edi
 
::* B=1 - закрашивать фон цветом edi
 
Возвращаемое значение:
 
Возвращаемое значение:
* функция не возвращает значения
+
:* функция не возвращает значения
 
Замечания:
 
Замечания:
* Указанная длина не должна превосходить 60.
+
:* Указанная длина не должна превосходить 60.
* Выводится ровно указанное количество цифр. Если число мало и может быть записано меньшим количеством цифр, оно дополняется ведущими нулями; если число велико и не может быть записано таким количеством цифр, "лишние" ведущие цифры обрезаются.
+
:* Выводится ровно указанное количество цифр. Если число мало и может быть записано меньшим количеством цифр, оно дополняется ведущими нулями; если число велико и не может быть записано таким количеством цифр, "лишние" ведущие цифры обрезаются.
* Параметры шрифтов указаны в описании [[SysFn04/ru|функции 4]]. (вывода текста).
+
:* Параметры шрифтов указаны в описании [[SysFn04/ru|функции 4]]. (вывода текста).
  
 +
'''Константы для регистров:'''
 +
::eax - SF_DRAW_NUMBER (47)
  
 
{{System_functions}}
 
{{System_functions}}
 
[[Category: SysCalls]]
 
[[Category: SysCalls]]

Revision as of 18:24, 17 January 2016

Функция 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 = 0xX0RRGGBB:
  • RR, GG, BB задают цвет
  • X = ABnn (биты)
  • nn = шрифт (0/1)
  • A игнорируется
  • B=1 - закрашивать фон цветом edi

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

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

Замечания:

  • Указанная длина не должна превосходить 60.
  • Выводится ровно указанное количество цифр. Если число мало и может быть записано меньшим количеством цифр, оно дополняется ведущими нулями; если число велико и не может быть записано таким количеством цифр, "лишние" ведущие цифры обрезаются.
  • Параметры шрифтов указаны в описании функции 4. (вывода текста).

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

eax - SF_DRAW_NUMBER (47)