Subversion Repositories Kolibri OS

Rev

Rev 903 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
903 leency 1
#code32 TRUE
2
 
3
inline fastcall dword malloc(dword ECX){
4
	dword	size, heap;
5
	#speed
6
	size = ECX;
7
	EAX = 68;
8
	EBX = 11;
9
	$int	0x40;
10
	heap = EAX;
11
	IF (size<=heap)
12
	{
13
		EAX = 68;
14
		EBX = 12;
15
		ECX = size;
16
		$int	0x40;
17
	}
18
	ELSE	EAX=-1;
19
	#codesize
20
}
21
 
22
inline fastcall dword free(dword ECX){
23
	#speed
24
	EAX = 68;
25
	EBX = 13;
26
	$int	0x40;
27
	#codesize
28
}
29
 
30
inline fastcall dword realloc(dword ECX, EDX){
31
	#speed
32
	EAX = 68;
33
	EBX = 20;
34
	$int	0x40;
35
	#codesize
36
}
1415 leency 37
 
38
 
39
inline fastcall memmov( EDI, ESI, ECX)
40
{
41
  asm {
42
    MOV EAX, ECX
43
    CMP EDI, ESI
44
    JG L1
45
    JE L2
46
    SAR ECX, 2
47
    JS L2
48
    REP MOVSD
49
    MOV ECX, EAX
50
    AND ECX, 3
51
    REP MOVSB
52
    JMP SHORT L2
53
L1: LEA ESI, DSDWORD[ ESI+ECX-4]
54
    LEA EDI, DSDWORD[ EDI+ECX-4]
55
    SAR ECX, 2
56
    JS L2
57
    STD
58
    REP MOVSD
59
    MOV ECX, EAX
60
    AND ECX, 3
61
    ADD ESI, 3
62
    ADD EDI, 3
63
    REP MOVSB
64
    CLD
65
L2:
66
  }
67
}