Subversion Repositories Kolibri OS

Rev

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

Rev Author Line No. Line
3107 leency 1
 
2
{
3067 leency 3
        $push    ebx
4
        $mov     eax, 68
5
        $mov     ebx, 11
6
        $int     0x40
7
8
 
9
        return  EAX;
10
}
11
12
 
3107 leency 13
{
3067 leency 14
        $push    ebx
15
        $push    ecx
16
        $mov     eax, 68
17
        $mov     ebx, 12
18
        $mov     ecx, size
19
        $int     0x40
20
21
 
22
        $pop     ebx
23
        return  EAX;
24
}
25
26
 
3107 leency 27
{
3067 leency 28
        $push    ebx
29
        $push    ecx
30
        $push    edx
31
        $mov     eax, 68
32
        $mov     ebx, 20
33
        $mov     ecx, size
34
        $mov     edx, mptr
35
        $int     0x40
36
37
 
38
        $pop     ecx
39
        $pop     ebx
40
        return   EAX;
41
}
42
43
 
3107 leency 44
{
3067 leency 45
        $push    eax
46
        $push    ebx
47
        $push    ecx
48
        $mov     eax, 68
49
        $mov     ebx, 13
50
        $mov     ecx, mptr
51
        $test    ecx, ecx
52
        $jz      end0
53
        $int     0x40
54
   @end0:
55
        $pop     ecx
56
        $pop     ebx
57
        $pop     eax
58
        return 0;
3107 leency 59
}
3067 leency 60
61
 
3107 leency 62
{
3067 leency 63
  asm {
64
    MOV EAX, ECX
65
    CMP EDI, ESI
66
    JG L1
67
    JE L2
68
    SAR ECX, 2
69
    JS L2
70
    REP MOVSD
71
    MOV ECX, EAX
72
    AND ECX, 3
73
    REP MOVSB
74
    JMP SHORT L2
75
L1: LEA ESI, DSDWORD[ ESI+ECX-4]
76
    LEA EDI, DSDWORD[ EDI+ECX-4]
77
    SAR ECX, 2
78
    JS L2
79
    STD
80
    REP MOVSD
81
    MOV ECX, EAX
82
    AND ECX, 3
83
    ADD ESI, 3
84
    ADD EDI, 3
85
    REP MOVSB
86
    CLD
87
L2:
88
  }
89
}
90
91
 
3128 leency 92
 
93
 
3107 leency 94
#define mem_ReAlloc realloc
95
#define mem_Free free
96
#define mem_Init mem_init
97
3067 leency 98
 
99
{
100
  asm {
101
    XOR EAX, EAX
102
    MOV EDX, ECX
103
    SHR ECX, 2
104
    REP STOSD
105
    MOV ECX, EDX
106
    AND ECX, 3
107
    REP STOSB
108
  }
109
}
110
111
 
3107 leency 112
{
3067 leency 113
  asm {
114
    MOV AH, AL
115
    MOVZX EDX, AX
116
    SHL EAX, 16
117
    OR EAX, EDX
118
    MOV EDX, ECX
119
    SHR ECX, 2
120
    REP STOSD
121
    MOV ECX, EDX
122
    AND ECX, 3
123
    REP STOSB
124
  }
125
}
126
127
 
128
{
129
  asm {
130
    REP STOSD
131
  }
132
}
133
134
 
135
{
136
  asm {
137
    REP MOVSD
138
  }
139
}
140
141
 
142
{
143
  asm {
144
    MOV EAX, ECX
145
    CMP EDI, ESI
146
    JG L1
147
    JE L2
148
    SAR ECX, 2
149
    JS L2
150
    REP MOVSD
151
    MOV ECX, EAX
152
    AND ECX, 3
153
    REP MOVSB
154
    JMP SHORT L2
155
L1: LEA ESI, DSDWORD[ ESI+ECX-4]
156
    LEA EDI, DSDWORD[ EDI+ECX-4]
157
    SAR ECX, 2
158
    JS L2
159
    STD
160
    REP MOVSD
161
    MOV ECX, EAX
162
    AND ECX, 3
163
    ADD ESI, 3
164
    ADD EDI, 3
165
    REP MOVSB
166
    CLD
167
L2:
168
  }
169
}
170
171
 
172
{
173
  asm {
174
    MOV EAX, ECX
175
    SHR ECX, 2
176
    REPE CMPSD
177
    MOV ECX, EAX
178
    AND ECX, 3
179
    REPE CMPSB
180
    XOR EAX, EAX
181
    XOR ECX, ECX
182
    MOV AL, DSBYTE[ ESI-1]
183
    MOV CL, DSBYTE[ EDI-1]
184
    SUB EAX, ECX
185
  }
186
}*/
187
188
 
189
 
190
#define memset0 memsetz
191
#define mem0set memsetz
192
#define memset32 memsetd
193
#define memcpy32 memcpyd*/
194