;----------------------------------------------------------------------------- proc mem.Alloc,size ;///////////////////////////////////////////////////////// ;----------------------------------------------------------------------------- push ebx ecx mov ecx,[size] ;*** add ecx,4 mcall 68,12 ;*** add ecx,-4 ;*** mov [eax],ecx ;*** add eax,4 pop ecx ebx ret endp ;----------------------------------------------------------------------------- proc mem.ReAlloc,mptr,size ;////////////////////////////////////////////////// ;----------------------------------------------------------------------------- push ebx ecx edx mov ecx,[size] or ecx,ecx jz @f ;*** add ecx,4 @@: mov edx,[mptr] or edx,edx jz @f ;*** add edx,-4 @@: mcall 68,20 or eax,eax jz @f ;*** add ecx,-4 ;*** mov [eax],ecx ;*** add eax,4 @@: pop edx ecx ebx ret endp ;----------------------------------------------------------------------------- proc mem.Free,mptr ;////////////////////////////////////////////////////////// ;----------------------------------------------------------------------------- push ebx ecx mov ecx,[mptr] or ecx,ecx jz @f ;*** add ecx,-4 @@: mcall 68,13 pop ecx ebx ret endp