Subversion Repositories Kolibri OS

Rev

Rev 662 | Rev 673 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 662 Rev 668
Line 33... Line 33...
33
           push    ebp
33
           push    ebp
34
           push    edi
34
           push    edi
35
           push    esi
35
           push    esi
36
           push    ebx
36
           push    ebx
37
           sub     esp, 28
37
           sub     esp, 44
38
 
38
 
-
 
39
           mov     ebp, [esp+68]
-
 
40
           mov     ebx, [esp+64]
-
 
41
           mov     edx, ebp
-
 
42
           mov     esi, ebp
-
 
43
           add     edx, [ebp+60]
-
 
44
           mov     edi, ebx
-
 
45
           mov     [esp+32], edx
-
 
46
 
-
 
47
           mov     ecx, [edx+84]
-
 
48
           shr     ecx, 2
-
 
49
           rep     movsd
-
 
50
 
Line 39... Line -...
39
           mov     edx, [esp+52]
-
 
40
           mov     ebx, [esp+48]
-
 
41
           mov     dword [esp+20], 0
-
 
42
           add     edx, [edx+60]
-
 
43
           movzx   eax, word [edx+6]
51
           movzx   eax, word [edx+6]
44
           mov     [esp+16], edx
52
           mov     dword [esp+36], 0
45
           mov      [esp+12], eax
53
           mov     [esp+28], eax
46
           jmp     .L6
54
           jmp     .L6
47
.L7:
55
.L7:
48
           mov     eax, [edx+264]
56
           mov     eax, [edx+264]
-
 
57
           test    eax, eax
-
 
58
           je      .L8
-
 
59
 
49
           mov     ebp, [edx+260]
60
           mov     esi, ebp
50
           mov     esi, [esp+52]
61
           mov     edi, ebx
51
           add     esi, [edx+268]
62
           add     esi, [edx+268]
52
           mov     ecx, eax
63
           mov     ecx, eax
53
           lea     edi, [ebx+ebp]
64
           add     edi, [edx+260]
Line 54... Line 65...
54
 
65
 
55
           shr ecx, 2
66
           shr     ecx, 2
Line -... Line 67...
-
 
67
           rep     movsd
56
           rep movsd
68
 
-
 
69
.L8:
-
 
70
           mov     ecx, [edx+256]
57
 
71
           add     ecx, 4095
58
           mov     ecx, [edx+256]
72
           and     ecx, -4096
-
 
73
           cmp     ecx, eax
59
           cmp     ecx, eax
74
           jbe     .L10
-
 
75
 
-
 
76
           sub     ecx, eax
Line 60... Line 77...
60
           jbe     .L8
77
           add     eax, [edx+260]
61
           sub     ecx, eax
78
           lea     edi, [eax+ebx]
Line 62... Line 79...
62
 
79
 
63
           xor eax, eax
80
           xor     eax, eax
64
           rep stosb
81
           rep     stosb
65
 
82
 
66
.L8:
83
.L10:
67
           inc     dword [esp+20]
84
           inc     dword [esp+36]
68
           add     edx, 40
85
           add     edx, 40
Line 69... Line 86...
69
.L6:
86
.L6:
70
           mov     eax, [esp+12]
87
           mov     esi, [esp+28]
71
           cmp     [esp+20], eax
88
           cmp     [esp+36], esi
Line -... Line 89...
-
 
89
           jne     .L7
72
           jne     .L7
90
 
73
 
91
           mov     edi, [esp+32]
74
           mov     edx, [esp+16]
92
           cmp     dword [edi+164], 0
75
           cmp     dword [edx+164], 0
93
           je      .L13
-
 
94
 
76
           je      .L11
95
           mov     eax, [esp+32]
77
 
96
           mov     edi, ebx
78
           mov     edi, ebx
97
           mov     ecx, ebx
79
           mov     ecx, ebx
98
           sub     edi, [eax+52]
80
           sub     edi, [edx+52]
99
           add     ecx, [eax+160]
81
           add     ecx, [edx+160]
100
 
82
           mov     eax, edi
101
           mov     edx, edi
83
           shr     eax, 16
102
           shr     edx, 16
84
           mov     [esp+4], eax
103
           mov     [esp+20], edx
85
           jmp     .L13
104
           jmp     .L15
86
.L14:
105
.L16:
87
           lea     esi, [eax-8]
106
           lea     esi, [eax-8]
88
           xor     ebp, ebp
107
           xor     ebp, ebp
89
           shr     esi,1
108
           shr     esi, 1
90
           jmp     .L15
109
           jmp     .L17
91
.L16:
110
.L18:
92
           movzx   eax, word [ecx+8+ebp*2]
111
           movzx   eax, word [ecx+8+ebp*2]
Line 93... Line 112...
93
           mov     edx, eax
112
           mov     edx, eax
94
           shr     eax, 12
113
           shr     eax, 12
Line 95... Line 114...
95
           and     edx, 4095
114
           and     edx, 4095
96
           add     edx, [ecx]
115
           add     edx, [ecx]
Line 97... Line 116...
97
           cmp     ax, 2
116
           cmp     ax, 2
98
           je      .L19
117
           je      .L21
99
 
118
 
100
           cmp     ax, 3
119
           cmp     ax, 3
101
           je      .L20
120
           je      .L22
102
 
121
 
103
           dec     ax
122
           dec     ax
104
           jne     .L17
123
           jne     .L19
105
 
124
 
106
           mov     eax, [esp+4]
125
           mov     eax, [esp+20]
107
           add     word [edx+ebx], ax
126
           add     [edx+ebx], ax
-
 
127
.L21:
108
.L19:
128
           add     [edx+ebx], di
109
           add     word [edx+ebx], di
129
.L22:
110
.L20:
130
           add     [edx+ebx], edi
111
           add     [edx+ebx], edi
131
.L19:
112
.L17:
132
           inc     ebp
113
           inc     ebp
133
.L17:
114
.L15:
134
           cmp     ebp, esi
115
           cmp     ebp, esi
135
           jne     .L18
116
           jne     .L16
136
 
Line 117... Line 137...
117
           add     ecx, [ecx+4]
137
           add     ecx, [ecx+4]
118
.L13:
138
.L15:
119
           mov     eax, [ecx+4]
139
           mov     eax, [ecx+4]
120
           test    eax, eax
140
           test    eax, eax
121
           jne     .L14
141
           jne     .L16
122
.L11:
142
.L13:
Line 123... Line 143...
123
           mov     edx, [esp+16]
143
           mov     edx, [esp+32]
124
           cmp     dword [edx+132], 0
144
           cmp     dword [edx+132], 0
125
           je      .L22
145
           je      .L24
126
 
146
 
127
           mov     eax, ebx
147
           mov     eax, ebx
128
           add     eax, [edx+128]
148
           add     eax, [edx+128]
129
           lea     esi, [eax+20]
149
           lea     esi, [eax+20]
130
.L24:
150
.L26:
131
           cmp     dword [esi-16], 0
151
           cmp     dword [esi-16], 0
132
           jne     .L25
152
           jne     .L27
133
 
153
 
134
           cmp     dword [esi-8], 0
154
           cmp     dword [esi-8], 0
135
           je      .L22
155
           je      .L24
Line 136... Line 156...
136
.L25:
156
.L27:
137
           mov     ecx, [esi-20]
157
           mov     ecx, [esi-20]
Line 138... Line 158...
138
           mov     ebp, ebx
158
           mov     ebp, ebx
139
           add     ebp, [esi-4]
159
           add     ebp,  [esi-4]
140
           add     ecx, ebx
160
           add     ecx, ebx
141
           mov     [esp+24], ecx
161
           mov     [esp+40], ecx
142
.L27:
162
.L29:
143
           mov     edx, [esp+24]
163
           mov     edi, [esp+40]
144
           mov     eax, [edx]
164
           mov     eax, [edi]
145
           test    eax, eax
165
           test    eax, eax
146
           je      .L28
166
           je      .L30
147
 
167
 
148
           test    eax, eax
168
           test    eax, eax
149
           js      .L28
169
           js      .L30
150
 
170
 
151
           lea     eax, [eax+2+ebx]
-
 
152
           mov     edi, kernel_export
171
           lea     eax, [eax+2+ebx]
153
           mov     dword [ebp], -1
172
           mov     edi, kernel_export
154
           mov     [esp+8], eax
173
           mov     [ebp], dword -1
155
.L31:
174
           mov     [esp+24], eax
156
           push    ecx
175
.L33:
157
           push    16
176
           push    ecx
158
           push    dword [edi]
177
           push    16
159
           push    dword [esp+20]
178
           push    dword [edi]
160
           call    strncmp
179
           push    dword [esp+36]
161
           pop     edx
180
           call    strncmp
162
           test    eax, eax
181
           pop     edx
163
           jne     .L32
182
           test    eax, eax
164
 
183
           jne     .L34
165
           mov     eax, [edi+4]
184
           mov     eax, [edi+4]
166
           mov     [ebp], eax
185
           mov     [ebp], eax
167
           jmp     .L34
-
 
168
.L32:
186
           jmp     .L36
169
           add     edi, 8
187
.L34:
170
           cmp     dword [edi], 0
-
 
171
           jne     .L31
188
           add     edi, 8
172
.L34:
189
           cmp     dword [edi], 0
173
           add     dword [esp+24], 4
-
 
174
           add     ebp, 4
190
           jne     .L33
175
           jmp     .L27
191
.L36:
176
.L28:
192
           add     dword [esp+40], 4
177
           add     esi, 20
193
           add     ebp, 4
178
           jmp     .L24
-
 
179
.L22:
194
           jmp     .L29
-
 
195
.L30: