Difference between revisions of "SysFn64/ru"
Jump to navigation
Jump to search
m |
|||
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)
|