Subversion Repositories Kolibri OS

Rev

Rev 5676 | Rev 6887 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5676 Rev 6021
Line 7... Line 7...
7
#endif
7
#endif
Line 8... Line 8...
8
 
8
 
9
dword mem_init()
9
dword mem_init()
10
{
10
{
11
	$push    ebx
11
	$push    ebx
12
        $mov     eax, 68
12
	$mov     eax, 68
13
        $mov     ebx, 11
13
	$mov     ebx, 11
14
        $int     0x40
14
	$int     0x40
15
        
15
	
16
        $pop     ebx
16
	$pop     ebx
17
        return  EAX;
17
	return  EAX;
Line 18... Line 18...
18
}
18
}
19
 
19
 
20
dword malloc(dword size)
20
dword malloc(dword size)
21
{
21
{
-
 
22
	$push    ebx
22
        $push    ebx
23
	$push    ecx
23
        $push    ecx
24
 
24
        $mov     eax, 68
25
	$mov     eax, 68
25
        $mov     ebx, 12
26
	$mov     ebx, 12
26
        $mov     ecx, size
27
	$mov     ecx, size
27
        $int     0x40
28
	$int     0x40
28
        
29
	
29
        $pop     ecx
30
	$pop     ecx
30
        $pop     ebx
31
	$pop     ebx
Line 31... Line 32...
31
        return  EAX;
32
	return  EAX;
32
}
33
}
33
 
34
 
34
stdcall dword realloc(dword mptr, size)
35
stdcall dword realloc(dword mptr, size)
35
{
36
{
-
 
37
	$push    ebx
36
        $push    ebx
38
	$push    ecx
37
        $push    ecx
39
	$push    edx
38
        $push    edx
40
 
39
        $mov     eax, 68
41
	$mov     eax, 68
40
        $mov     ebx, 20
42
	$mov     ebx, 20
41
        $mov     ecx, size
43
	$mov     ecx, size
42
        $mov     edx, mptr
44
	$mov     edx, mptr
43
        $int     0x40
45
	$int     0x40
44
 
46
 
45
        $pop     edx
47
	$pop     edx
46
        $pop     ecx
48
	$pop     ecx
Line 47... Line 49...
47
        $pop     ebx
49
	$pop     ebx
48
        return   EAX;
50
	return   EAX;
49
}
51
}
50
 
52
 
51
dword free(dword mptr)
53
dword free(dword mptr)
-
 
54
{
52
{
55
	$push    eax
53
        $push    eax
56
	$push    ebx
54
        $push    ebx
57
	$push    ecx
55
        $push    ecx
58
	
56
        $mov     eax, 68
59
	$mov     eax, 68
57
        $mov     ebx, 13
60
	$mov     ebx, 13
58
        $mov     ecx, mptr
61
	$mov     ecx, mptr
59
        $test    ecx, ecx
62
	$test    ecx, ecx
60
        $jz      end0
63
	$jz      end0
61
        $int     0x40
64
	$int     0x40
62
   @end0:
65
   @end0:
63
        $pop     ecx
66
	$pop     ecx
Line 64... Line 67...
64
        $pop     ebx
67
	$pop     ebx
65
        $pop     eax
68
	$pop     eax
66
        return 0;
69
	return 0;