|
|||
Скачать Аллокация локальных переменных в стеке
15.09.1995 Эти процедуры позволяют аллоцировать и освобождать память для локальных переменных в стеке. Преимущества перед GetMem:
function GetStackMem(Size:word):pointer; inline($58/ { pop ax} $40/ { inc ax } { Для выравнивания на слово } $25/$FE/$FF/ { and ax,$FFFE} $2B/$E0/ { sub sp,ax} $8B/$C4/ { mov ax,sp} $8C/$D2 { mov dx,ss}); procedure FreeStackMem(Size:word); inline($58/ { pop ax} $40/ { inc ax } { Для выравнивания на слово } $25/$FE/$FF/ { and ax,$FFFE} $03/$E0 { add sp,ax } ); Пример:
Если в программе есть локальные переменные, то в ее конце можно FreeStackMem не вызывать (т.к. SP получает в первоначальное значение из BP). | |||
© 2009–2024 Russian Pascal Developer Network.
Техническая площадка: ISBIZ Хостинг |