Difference between revisions of "SysFn47/ru"
Jump to navigation
Jump to search
m |
Maxcodehack (talk | contribs) m |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
---- | ---- | ||
Параметры: | Параметры: | ||
− | + | * 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. Почитать как это произошло можно [http://wiki.kolibrios.org/wiki/%D0%90%D1%81%D1%81%D0%B5%D0%BC%D0%B1%D0%BB%D0%B5%D1%80_-_FAQ здесь] |
'''Константы для регистров:''' | '''Константы для регистров:''' |
Latest revision as of 11:39, 28 February 2021
Функция 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)
|