Difference between revisions of "SysFn64/ru"

From KolibriOS wiki
Jump to navigation Jump to search
m
 
(5 intermediate revisions by 2 users not shown)
Line 14: Line 14:
 
''Замечания:''
 
''Замечания:''
  
:* Есть другой способ выделения/освобождения динамической памяти - подфункции 11, 12, 13 [[SysFn68/ru|функции 68]].
+
:* Есть другой способ выделения/освобождения динамической памяти - 11, 12, 13 [[SysFn68/ru|функции 68]].
:* Функция не может использоваться совместно с 68.11, 68.12, 68.13. Вызов функции будет игнорироваться, если приложение создаст локальную кучу вызовом 68.11.
+
:* Функция не может использоваться совместно с 68.11, 68.12, 68.13.
:* число в ecx, это вся доступная память приложения, включая кода и стека программой. Тоесть задавая число меньшее чем размер программой заданной в [[Writing applications for KolibriOS#The header|заголовке]], программа может сама себе освободить.
+
:: Вызов функции будет игнорироваться, если приложение создаст локальную кучу вызовом 68.11.
  
 
''Реализация:''
 
''Реализация:''

Latest revision as of 06:47, 28 April 2021

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

Параметры:

  • eax = 64 - номер функции
  • ebx = 1 - единственная подфункция
  • ecx = новый размер памяти

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

  • eax = 0 - успешно
  • eax = 1 - недостаточно памяти

Замечания:

  • Есть другой способ выделения/освобождения динамической памяти - 11, 12, 13 функции 68.
  • Функция не может использоваться совместно с 68.11, 68.12, 68.13.
Вызов функции будет игнорироваться, если приложение создаст локальную кучу вызовом 68.11.

Реализация: sys_resize_app_memory: (core/sys32.inc)

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

eax - SF_MEMORY_RESIZE (64)