SysFn64/ru: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
'''Функция 64 - перераспределить память приложения. | '''Функция 64''' - перераспределить память приложения. | ||
''Параметры:'' | ''Параметры:'' | ||
* eax = 64 - номер функции | :* eax = 64 - номер функции | ||
* ebx = 1 - единственная подфункция | :* ebx = 1 - единственная подфункция | ||
* ecx = новый размер памяти | :* ecx = новый размер памяти | ||
''Возвращаемое значение:'' | ''Возвращаемое значение:'' | ||
* eax = 0 - успешно | :* eax = 0 - успешно | ||
* eax = 1 - недостаточно памяти | :* eax = 1 - недостаточно памяти | ||
''Замечания:'' | ''Замечания:'' | ||
* Есть другой способ выделения/освобождения динамической памяти - подфункции 11, 12, 13 функции 68. | :* Есть другой способ выделения/освобождения динамической памяти - подфункции 11, 12, 13 [[SysFn68/ru|функции 68]]. | ||
* Функция не может использоваться совместно с 68.11, 68.12, 68.13. Вызов функции будет игнорироваться, если приложение создаст локальную кучу вызовом 68.11. | :* Функция не может использоваться совместно с 68.11, 68.12, 68.13. Вызов функции будет игнорироваться, если приложение создаст локальную кучу вызовом 68.11. | ||
* число в ecx, это вся доступная память приложения, включая кода и стека программой. Тоесть задавая число меньшее чем размер программой заданной в [[Writing applications for KolibriOS#The header|заголовке]], программа может сама себе освободить. | :* число в ecx, это вся доступная память приложения, включая кода и стека программой. Тоесть задавая число меньшее чем размер программой заданной в [[Writing applications for KolibriOS#The header|заголовке]], программа может сама себе освободить. | ||
'' | ''Реализация:'' | ||
sys_resize_app_memory: (core/sys32.inc) | sys_resize_app_memory: ([http://websvn.kolibrios.org/filedetails.php?repname=Kolibri+OS&path=%2Fkernel%2Ftrunk%2Fcore%2Fsys32.inc core/sys32.inc]) | ||
'''Константы для регистров:''' | |||
::eax - SF_MEMORY_RESIZE (64) | |||
{{System_functions}} | {{System_functions}} | ||
[[Category: SysCalls]] | [[Category: SysCalls]] |
Revision as of 14:08, 18 January 2016
Функция 64 - перераспределить память приложения.
Параметры:
- eax = 64 - номер функции
- ebx = 1 - единственная подфункция
- ecx = новый размер памяти
Возвращаемое значение:
- eax = 0 - успешно
- eax = 1 - недостаточно памяти
Замечания:
- Есть другой способ выделения/освобождения динамической памяти - подфункции 11, 12, 13 функции 68.
- Функция не может использоваться совместно с 68.11, 68.12, 68.13. Вызов функции будет игнорироваться, если приложение создаст локальную кучу вызовом 68.11.
- число в ecx, это вся доступная память приложения, включая кода и стека программой. Тоесть задавая число меньшее чем размер программой заданной в заголовке, программа может сама себе освободить.
Реализация: sys_resize_app_memory: (core/sys32.inc)
Константы для регистров:
- eax - SF_MEMORY_RESIZE (64)
|