Subversion Repositories Kolibri OS

Rev

Rev 3067 | Rev 3128 | 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
 
3107 leency 92
#define mem_ReAlloc realloc
93
#define mem_Free free
94
#define mem_Init mem_init
95
3067 leency 96
 
97
{
98
  asm {
99
    XOR EAX, EAX
100
    MOV EDX, ECX
101
    SHR ECX, 2
102
    REP STOSD
103
    MOV ECX, EDX
104
    AND ECX, 3
105
    REP STOSB
106
  }
107
}
108
109
 
3107 leency 110
{
3067 leency 111
  asm {
112
    MOV AH, AL
113
    MOVZX EDX, AX
114
    SHL EAX, 16
115
    OR EAX, EDX
116
    MOV EDX, ECX
117
    SHR ECX, 2
118
    REP STOSD
119
    MOV ECX, EDX
120
    AND ECX, 3
121
    REP STOSB
122
  }
123
}
124
125
 
126
{
127
  asm {
128
    MOV EDX, ECX
129
    SHR ECX, 2
130
    REP MOVSD
131
    MOV ECX, EDX
132
    AND ECX, 3
133
    REP MOVSB
134
  }
135
}
136
137
 
138
{
139
  asm {
140
    REP STOSD
141
  }
142
}
143
144
 
145
{
146
  asm {
147
    REP MOVSD
148
  }
149
}
150
151
 
152
{
153
  asm {
154
    MOV EAX, ECX
155
    CMP EDI, ESI
156
    JG L1
157
    JE L2
158
    SAR ECX, 2
159
    JS L2
160
    REP MOVSD
161
    MOV ECX, EAX
162
    AND ECX, 3
163
    REP MOVSB
164
    JMP SHORT L2
165
L1: LEA ESI, DSDWORD[ ESI+ECX-4]
166
    LEA EDI, DSDWORD[ EDI+ECX-4]
167
    SAR ECX, 2
168
    JS L2
169
    STD
170
    REP MOVSD
171
    MOV ECX, EAX
172
    AND ECX, 3
173
    ADD ESI, 3
174
    ADD EDI, 3
175
    REP MOVSB
176
    CLD
177
L2:
178
  }
179
}
180
181
 
182
{
183
  asm {
184
    MOV EAX, ECX
185
    SHR ECX, 2
186
    REPE CMPSD
187
    MOV ECX, EAX
188
    AND ECX, 3
189
    REPE CMPSB
190
    XOR EAX, EAX
191
    XOR ECX, ECX
192
    MOV AL, DSBYTE[ ESI-1]
193
    MOV CL, DSBYTE[ EDI-1]
194
    SUB EAX, ECX
195
  }
196
}*/
197
198
 
199
 
200
#define memset0 memsetz
201
#define mem0set memsetz
202
#define memset32 memsetd
203
#define memcpy32 memcpyd*/
204