Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. //mem.Init
  2. dword mem_Init()
  3. {
  4.         $push    ebx
  5.         $mov     eax, 68
  6.         $mov     ebx, 11
  7.         $int     0x40
  8.        
  9.         $pop     ebx
  10.         return  EAX;
  11. }
  12.  
  13. //mem.Alloc
  14. dword mem_Alloc(dword size)
  15. {
  16.         $push    ebx
  17.         $push    ecx
  18.         $mov     eax, 68
  19.         $mov     ebx, 12
  20.         $mov     ecx, size
  21.         $int     0x40
  22.        
  23.         $pop     ecx
  24.         $pop     ebx
  25.         return  EAX;
  26. }
  27.  
  28. //mem.ReAlloc
  29. stdcall dword mem_ReAlloc(dword mptr, size)
  30. {
  31.         //$push    ebx ecx edx
  32.         $push    ebx
  33.         $push    ecx
  34.         $push    edx
  35.         $mov     eax, 68
  36.         $mov     ebx, 20
  37.         $mov     ecx, size
  38.         $mov     edx, mptr
  39.         $int     0x40
  40.  
  41.         $pop     edx
  42.         $pop     ecx
  43.         $pop     ebx
  44.         //$pop     edx ecx ebx
  45.         return   EAX;
  46. }
  47.  
  48. //mem.Free
  49. void mem_Free(dword mptr)
  50. {
  51.         $push    eax
  52.         $push    ebx
  53.         $push    ecx
  54.         $mov     eax, 68
  55.         $mov     ebx, 13
  56.         $mov     ecx, mptr
  57.         $test    ecx, ecx
  58.         $jz      end0
  59.         $int     0x40
  60.    @end0:
  61.         $pop     ecx
  62.         $pop     ebx
  63.         $pop     eax
  64. }
  65.