Rev 8129 | Rev 8170 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 8129 | Rev 8133 | ||
---|---|---|---|
Line 2... | Line 2... | ||
2 | MENUET_BORDER_SIZE = 4; |
2 | MENUET_BORDER_SIZE = 4; |
3 | ;const int |
3 | ;const int |
4 | MENUET_HEADER_SIZE = 20; |
4 | MENUET_HEADER_SIZE = 20; |
Line 5... | Line 5... | ||
5 | 5 | ||
6 | ;const int |
6 | ;const int |
7 | MENUET_THREAD_DATA_USER = 0; // Thread data begin from the user dword |
7 | KOLIBRI_THREAD_DATA_USER = 0; // Thread data begin from the user dword |
8 | ;const int |
8 | ;const int |
9 | MENUET_THREAD_DATA_ST_BEGIN = 1; // Stack beginning follows after the user dword |
9 | KOLIBRI_THREAD_DATA_ST_BEGIN = 1; // Stack beginning follows after the user dword |
10 | ;const int |
10 | ;const int |
11 | MENUET_THREAD_DATA_NEXT = 2; |
11 | KOLIBRI_THREAD_DATA_NEXT = 2; |
12 | ;const int |
12 | ;const int |
13 | MENUET_THREAD_DATA_PID = 3; |
13 | KOLIBRI_THREAD_DATA_PID = 3; |
14 | ;const int |
14 | ;const int |
15 | MENUET_THREAD_DATA_FLAG = 4; |
15 | KOLIBRI_THREAD_DATA_FLAG = 4; |
16 | ;const int |
16 | ;const int |
17 | MENUET_THREAD_DATA_X = 5; |
17 | KOLIBRI_THREAD_DATA_X = 5; |
18 | ;const int |
18 | ;const int |
19 | MENUET_THREAD_DATA_Y = 6; |
19 | KOLIBRI_THREAD_DATA_Y = 6; |
20 | ;const int |
20 | ;const int |
21 | MENUET_THREAD_DATA_C_WINDOW = 7; |
21 | KOLIBRI_THREAD_DATA_C_WINDOW = 7; |
22 | ;const int |
22 | ;const int |
23 | MENUET_THREAD_DATA_C_HEADER = 8; |
23 | KOLIBRI_THREAD_DATA_C_HEADER = 8; |
24 | ;const int |
24 | ;const int |
25 | MENUET_THREAD_DATA_C_BORDER = 9; |
25 | KOLIBRI_THREAD_DATA_C_BORDER = 9; |
26 | ;const int |
26 | ;const int |
27 | MENUET_THREAD_DATA_C_TITLE = 10; |
27 | KOLIBRI_THREAD_DATA_C_TITLE = 10; |
28 | ;const int |
28 | ;const int |
29 | MENUET_THREAD_DATA_TITLE = 11; |
29 | KOLIBRI_THREAD_DATA_TITLE = 11; |
30 | ;const int |
30 | ;const int |
31 | MENUET_THREAD_DATA_PICTURE = 12; |
31 | KOLIBRI_THREAD_DATA_PICTURE = 12; |
32 | ;const int |
32 | ;const int |
33 | MENUET_THREAD_DATA_SZ_PICT = 13; |
33 | KOLIBRI_THREAD_DATA_SZ_PICT = 13; |
34 | ;const int |
34 | ;const int |
35 | MENUET_THREAD_DATA_LAST_SX = 14; |
35 | KOLIBRI_THREAD_DATA_LAST_SX = 14; |
36 | ;const int |
36 | ;const int |
37 | MENUET_THREAD_DATA_LAST_SY = 15; |
37 | KOLIBRI_THREAD_DATA_LAST_SY = 15; |
38 | ;const int |
38 | ;const int |
Line 39... | Line 39... | ||
39 | MENUET_THREAD_DATA_LEN = 16; |
39 | KOLIBRI_THREAD_DATA_LEN = 16; |
40 | 40 | ||
Line 41... | Line 41... | ||
41 | ;const int |
41 | ;const int |
42 | MENUET_MUTEX_MAX_TIME_WAIT = 20; |
42 | MENUET_MUTEX_MAX_TIME_WAIT = 20; |
Line 43... | Line 43... | ||
43 | 43 | ||
44 | ;const int |
44 | ;const int |
Line 45... | Line 45... | ||
45 | MENUET_FILE_BLOCK_SIZE = 512; |
45 | KOLIBRI_FILE_BLOCK_SIZE = 512; |
Line 46... | Line 46... | ||
46 | 46 | ||
47 | ;const int |
47 | ;const int |
Line 137... | Line 137... | ||
137 | 137 | ||
138 | proc @Kolibri@ThreadMain$qpvt1 |
138 | proc @Kolibri@ThreadMain$qpvt1 |
139 | xchg ebx,[esp+4] |
139 | xchg ebx,[esp+4] |
140 | xchg ebp,[esp+8] |
140 | xchg ebp,[esp+8] |
141 | push esi edi |
141 | push esi edi |
142 | sub esp,MENUET_THREAD_DATA_LEN*4 |
142 | sub esp,KOLIBRI_THREAD_DATA_LEN*4 |
143 | mov [esp],ebx |
143 | mov [esp],ebx |
144 | mov [esp+4],ebp |
144 | mov [esp+4],ebp |
145 | mov eax,40 |
145 | mov eax,40 |
146 | mov ebx,0x27 |
146 | mov ebx,0x27 |
Line 163... | Line 163... | ||
163 | add esp,12 |
163 | add esp,12 |
164 | test al,al |
164 | test al,al |
165 | jnz .main_test_close_first |
165 | jnz .main_test_close_first |
166 | jmp .main_end |
166 | jmp .main_end |
167 | .main_close_first: |
167 | .main_close_first: |
168 | btr dword [esp+MENUET_THREAD_DATA_FLAG*4],31 |
168 | btr dword [esp+KOLIBRI_THREAD_DATA_FLAG*4],31 |
169 | push esp |
169 | push esp |
170 | call @@MenuetOnClose$qppv |
170 | call @@KolibriOnClose$qppv |
171 | pop ecx |
171 | pop ecx |
172 | test al,al |
172 | test al,al |
173 | jnz .main_end |
173 | jnz .main_end |
174 | .main_test_close_first: |
174 | .main_test_close_first: |
175 | cmp dword [esp+MENUET_THREAD_DATA_FLAG*4],0 |
175 | cmp dword [esp+KOLIBRI_THREAD_DATA_FLAG*4],0 |
176 | jl .main_close_first |
176 | jl .main_close_first |
177 | push esp |
177 | push esp |
178 | push dword 1 |
178 | push dword 1 |
179 | call @Kolibri@Redraw$qippv |
179 | call @Kolibri@Redraw$qippv |
180 | add esp,8 |
180 | add esp,8 |
181 | .main_paint_msg: |
181 | .main_paint_msg: |
182 | or dword [esp+MENUET_THREAD_DATA_FLAG*4],3 |
182 | or dword [esp+KOLIBRI_THREAD_DATA_FLAG*4],3 |
183 | sub esp,1024 |
183 | sub esp,1024 |
184 | mov eax,9 |
184 | mov eax,9 |
185 | mov ebx,esp |
185 | mov ebx,esp |
186 | mov ecx,-1 |
186 | mov ecx,-1 |
187 | int 0x40 |
187 | int 0x40 |
188 | mov eax,[esp+34] |
188 | mov eax,[esp+34] |
189 | mov ebx,[esp+38] |
189 | mov ebx,[esp+38] |
190 | mov ecx,[esp+42] |
190 | mov ecx,[esp+42] |
191 | mov edx,[esp+46] |
191 | mov edx,[esp+46] |
192 | add esp,1024 |
192 | add esp,1024 |
193 | cmp ecx,[esp+MENUET_THREAD_DATA_LAST_SX*4] |
193 | cmp ecx,[esp+KOLIBRI_THREAD_DATA_LAST_SX*4] |
194 | jnz .main_size |
194 | jnz .main_size |
195 | cmp edx,[esp+MENUET_THREAD_DATA_LAST_SY*4] |
195 | cmp edx,[esp+KOLIBRI_THREAD_DATA_LAST_SY*4] |
196 | jz .main_paint |
196 | jz .main_paint |
197 | .main_size: |
197 | .main_size: |
198 | mov [esp+MENUET_THREAD_DATA_LAST_SX*4],ecx |
198 | mov [esp+KOLIBRI_THREAD_DATA_LAST_SX*4],ecx |
199 | mov [esp+MENUET_THREAD_DATA_LAST_SY*4],edx |
199 | mov [esp+KOLIBRI_THREAD_DATA_LAST_SY*4],edx |
200 | push edx |
200 | push edx |
201 | push ecx |
201 | push ecx |
202 | push ebx |
202 | push ebx |
203 | push eax |
203 | push eax |
204 | lea ecx,[esp+16] |
204 | lea ecx,[esp+16] |
205 | mov edx,esp |
205 | mov edx,esp |
206 | push ecx |
206 | push ecx |
207 | push edx |
207 | push edx |
208 | call @@MenuetOnSize$qpippv |
208 | call @@KolibriOnSize$qpippv |
209 | add esp,24 |
209 | add esp,24 |
210 | test dword [esp+MENUET_THREAD_DATA_FLAG*4],3 |
210 | test dword [esp+KOLIBRI_THREAD_DATA_FLAG*4],3 |
211 | jz .main_cycle |
211 | jz .main_cycle |
212 | .main_paint: |
212 | .main_paint: |
213 | cmp dword [esp+MENUET_THREAD_DATA_FLAG*4],0 |
213 | cmp dword [esp+KOLIBRI_THREAD_DATA_FLAG*4],0 |
214 | jl .main_close |
214 | jl .main_close |
215 | push esp |
215 | push esp |
216 | push dword 0 |
216 | push dword 0 |
217 | call @Kolibri@Redraw$qippv |
217 | call @Kolibri@Redraw$qippv |
218 | add esp,8 |
218 | add esp,8 |
219 | .main_cycle: |
219 | .main_cycle: |
220 | mov eax,11 |
220 | mov eax,11 |
221 | .main_message: |
221 | .main_message: |
222 | cmp dword [esp+MENUET_THREAD_DATA_FLAG*4],0 |
222 | cmp dword [esp+KOLIBRI_THREAD_DATA_FLAG*4],0 |
223 | jl .main_close |
223 | jl .main_close |
224 | int 0x40 |
224 | int 0x40 |
225 | test eax,eax |
225 | test eax,eax |
226 | jnz .main_on_message |
226 | jnz .main_on_message |
227 | cmp dword [esp+MENUET_THREAD_DATA_FLAG*4],0 |
227 | cmp dword [esp+KOLIBRI_THREAD_DATA_FLAG*4],0 |
228 | jne .main_paint |
228 | jne .main_paint |
229 | push esp |
229 | push esp |
230 | call @@MenuetOnIdle$qppv |
230 | call @@KolibriOnIdle$qppv |
231 | pop ecx |
231 | pop ecx |
232 | test eax,eax |
232 | test eax,eax |
233 | jz .main_cycle |
233 | jz .main_cycle |
234 | jl .main_wait_message |
234 | jl .main_wait_message |
235 | mov ebx,eax |
235 | mov ebx,eax |
Line 238... | Line 238... | ||
238 | .main_wait_message: |
238 | .main_wait_message: |
239 | mov eax,10 |
239 | mov eax,10 |
240 | jmp .main_message |
240 | jmp .main_message |
241 | .main_key_press: |
241 | .main_key_press: |
242 | push esp |
242 | push esp |
243 | call @@MenuetOnKeyPress$qppv |
243 | call @@KolibriOnKeyPress$qppv |
244 | pop ecx |
244 | pop ecx |
245 | jmp .main_cycle |
245 | jmp .main_cycle |
246 | .main_mouse: |
246 | .main_mouse: |
247 | push esp |
247 | push esp |
248 | call @@MenuetOnMouse$qppv |
248 | call @@KolibriOnMouse$qppv |
249 | pop ecx |
249 | pop ecx |
250 | jmp .main_cycle |
250 | jmp .main_cycle |
251 | .main_on_message: |
251 | .main_on_message: |
252 | dec eax |
252 | dec eax |
253 | jz .main_paint_msg |
253 | jz .main_paint_msg |
Line 261... | Line 261... | ||
261 | mov eax,17 |
261 | mov eax,17 |
262 | int 0x40 |
262 | int 0x40 |
263 | test al,al |
263 | test al,al |
264 | jnz .main_cycle |
264 | jnz .main_cycle |
265 | .main_close: |
265 | .main_close: |
266 | btr dword [esp+MENUET_THREAD_DATA_FLAG*4],31 |
266 | btr dword [esp+KOLIBRI_THREAD_DATA_FLAG*4],31 |
267 | push esp |
267 | push esp |
268 | call @@MenuetOnClose$qppv |
268 | call @@KolibriOnClose$qppv |
269 | pop ecx |
269 | pop ecx |
270 | test al,al |
270 | test al,al |
271 | jz .main_button |
271 | jz .main_button |
272 | .main_end: |
272 | .main_end: |
273 | mov ebx,esp |
273 | mov ebx,esp |
Line 302... | Line 302... | ||
302 | cmp dword [@Kolibri@_ThreadScanCount],0 |
302 | cmp dword [@Kolibri@_ThreadScanCount],0 |
303 | jnz .main_end_wait_loop |
303 | jnz .main_end_wait_loop |
304 | lock dec dword [@Kolibri@_ThreadScanCount+4] |
304 | lock dec dword [@Kolibri@_ThreadScanCount+4] |
305 | mov ebp,[esp+4] |
305 | mov ebp,[esp+4] |
306 | mov ebx,[esp] |
306 | mov ebx,[esp] |
307 | add esp,MENUET_THREAD_DATA_LEN*4 |
307 | add esp,KOLIBRI_THREAD_DATA_LEN*4 |
308 | mov eax,ebp |
308 | mov eax,ebp |
309 | pop edi esi |
309 | pop edi esi |
310 | xchg ebp,[esp+8] |
310 | xchg ebp,[esp+8] |
311 | xchg ebx,[esp+4] |
311 | xchg ebx,[esp+4] |
312 | ret |
312 | ret |
Line 322... | Line 322... | ||
322 | } |
322 | } |
Line 323... | Line 323... | ||
323 | 323 | ||
324 | proc @Kolibri@Redraw$qippv |
324 | proc @Kolibri@Redraw$qippv |
325 | push ebp |
325 | push ebp |
326 | mov ebp,[esp+12] |
326 | mov ebp,[esp+12] |
327 | mov edx,[ebp+MENUET_THREAD_DATA_FLAG*4] |
327 | mov edx,[ebp+KOLIBRI_THREAD_DATA_FLAG*4] |
328 | cmp dword [esp+8],0 |
328 | cmp dword [esp+8],0 |
329 | jl .redraw_only_inv |
329 | jl .redraw_only_inv |
330 | jz .redraw_no_frame |
330 | jz .redraw_no_frame |
331 | or dl,2 |
331 | or dl,2 |
332 | .redraw_no_frame: |
332 | .redraw_no_frame: |
333 | bt edx,30 |
333 | bt edx,30 |
334 | jnc .redraw_begin |
334 | jnc .redraw_begin |
335 | or dl,1 |
335 | or dl,1 |
336 | mov [ebp+MENUET_THREAD_DATA_FLAG*4],edx |
336 | mov [ebp+KOLIBRI_THREAD_DATA_FLAG*4],edx |
337 | jmp .redraw_end |
337 | jmp .redraw_end |
338 | .redraw_only_inv: |
338 | .redraw_only_inv: |
339 | test dl,3 |
339 | test dl,3 |
340 | jnz .redraw_no_frame |
340 | jnz .redraw_no_frame |
341 | .redraw_end: |
341 | .redraw_end: |
342 | pop ebp |
342 | pop ebp |
343 | ret |
343 | ret |
344 | .redraw_begin: |
344 | .redraw_begin: |
345 | push ebx esi edi |
345 | push ebx esi edi |
346 | and dword [ebp+MENUET_THREAD_DATA_FLAG*4],0xFFFFFFFC |
346 | and dword [ebp+KOLIBRI_THREAD_DATA_FLAG*4],0xFFFFFFFC |
347 | test dl,2 |
347 | test dl,2 |
348 | jz .redraw_picture |
348 | jz .redraw_picture |
349 | mov eax,12 |
349 | mov eax,12 |
350 | mov ebx,1 |
350 | mov ebx,1 |
351 | int 0x40 |
351 | int 0x40 |
352 | xor eax,eax |
352 | xor eax,eax |
353 | mov ebx,[ebp+MENUET_THREAD_DATA_X*4] |
353 | mov ebx,[ebp+KOLIBRI_THREAD_DATA_X*4] |
354 | mov ecx,[ebp+MENUET_THREAD_DATA_Y*4] |
354 | mov ecx,[ebp+KOLIBRI_THREAD_DATA_Y*4] |
355 | mov edx,[ebp+MENUET_THREAD_DATA_C_WINDOW*4] |
355 | mov edx,[ebp+KOLIBRI_THREAD_DATA_C_WINDOW*4] |
356 | mov esi,[ebp+MENUET_THREAD_DATA_C_HEADER*4] |
356 | mov esi,[ebp+KOLIBRI_THREAD_DATA_C_HEADER*4] |
357 | mov edi,[ebp+MENUET_THREAD_DATA_C_BORDER*4] |
357 | mov edi,[ebp+KOLIBRI_THREAD_DATA_C_BORDER*4] |
358 | int 0x40 |
358 | int 0x40 |
359 | mov edx,[ebp+MENUET_THREAD_DATA_TITLE*4] |
359 | mov edx,[ebp+KOLIBRI_THREAD_DATA_TITLE*4] |
360 | test edx,edx |
360 | test edx,edx |
361 | jz .window_defined |
361 | jz .window_defined |
362 | mov edi,edx |
362 | mov edi,edx |
363 | mov ecx,0xFFFFFFFF |
363 | mov ecx,0xFFFFFFFF |
Line 368... | Line 368... | ||
368 | mov esi,ecx |
368 | mov esi,ecx |
369 | dec esi |
369 | dec esi |
370 | jz .window_defined |
370 | jz .window_defined |
371 | mov eax,4 |
371 | mov eax,4 |
372 | mov ebx,0x00070007 |
372 | mov ebx,0x00070007 |
373 | mov ecx,[ebp+MENUET_THREAD_DATA_C_TITLE*4] |
373 | mov ecx,[ebp+KOLIBRI_THREAD_DATA_C_TITLE*4] |
374 | int 0x40 |
374 | int 0x40 |
375 | .window_defined: |
375 | .window_defined: |
376 | mov eax,12 |
376 | mov eax,12 |
377 | mov ebx,2 |
377 | mov ebx,2 |
378 | int 0x40 |
378 | int 0x40 |
379 | .redraw_picture: |
379 | .redraw_picture: |
380 | mov eax,12 |
380 | mov eax,12 |
381 | mov ebx,2 |
381 | mov ebx,2 |
382 | int 0x40 |
382 | int 0x40 |
383 | mov esi,[ebp+MENUET_THREAD_DATA_PICTURE*4] |
383 | mov esi,[ebp+KOLIBRI_THREAD_DATA_PICTURE*4] |
384 | test esi,esi |
384 | test esi,esi |
385 | jz .redraw_end_draw |
385 | jz .redraw_end_draw |
386 | mov ecx,[ebp+MENUET_THREAD_DATA_SZ_PICT*4] |
386 | mov ecx,[ebp+KOLIBRI_THREAD_DATA_SZ_PICT*4] |
387 | jecxz .redraw_end_draw |
387 | jecxz .redraw_end_draw |
388 | mov al,byte [ebp+MENUET_THREAD_DATA_C_WINDOW*4+3] |
388 | mov al,byte [ebp+KOLIBRI_THREAD_DATA_C_WINDOW*4+3] |
389 | and al,15 |
389 | and al,15 |
390 | mov edx,MENUET_BORDER_SIZE*65536+MENUET_HEADER_SIZE |
390 | mov edx,MENUET_BORDER_SIZE*65536+MENUET_HEADER_SIZE |
391 | cmp al,3 |
391 | cmp al,3 |
392 | jnz .redraw_no_skin |
392 | jnz .redraw_no_skin |
393 | mov eax,48 |
393 | mov eax,48 |
Line 446... | Line 446... | ||
446 | call Menuet_HashInt |
446 | call Menuet_HashInt |
447 | movzx eax,al |
447 | movzx eax,al |
448 | mov eax,dword [@Kolibri@_ThreadTable+eax*4] |
448 | mov eax,dword [@Kolibri@_ThreadTable+eax*4] |
449 | jmp .exit_process_test |
449 | jmp .exit_process_test |
450 | .exit_process_next: |
450 | .exit_process_next: |
451 | mov eax,dword [eax+MENUET_THREAD_DATA_NEXT*4] |
451 | mov eax,dword [eax+KOLIBRI_THREAD_DATA_NEXT*4] |
452 | .exit_process_test: |
452 | .exit_process_test: |
453 | test eax,eax |
453 | test eax,eax |
454 | jz .exit_process_continue |
454 | jz .exit_process_continue |
455 | cmp ebx,[eax+MENUET_THREAD_DATA_PID*4] |
455 | cmp ebx,[eax+KOLIBRI_THREAD_DATA_PID*4] |
456 | jnz .exit_process_next |
456 | jnz .exit_process_next |
457 | mov eax,18 |
457 | mov eax,18 |
458 | mov ebx,2 |
458 | mov ebx,2 |
459 | mov ecx,esi |
459 | mov ecx,esi |
460 | int 0x40 |
460 | int 0x40 |
Line 490... | Line 490... | ||
490 | jmp Menuet_main_end |
490 | jmp Menuet_main_end |
491 | endp |
491 | endp |
Line 492... | Line 492... | ||
492 | 492 | ||
493 | proc @Kolibri@ReturnMessageLoop$qppv,@Kolibri@ThreadMain$qpvt1 |
493 | proc @Kolibri@ReturnMessageLoop$qppv,@Kolibri@ThreadMain$qpvt1 |
494 | mov esp,[esp+4] |
494 | mov esp,[esp+4] |
495 | bt dword [esp+MENUET_THREAD_DATA_FLAG*4],30 |
495 | bt dword [esp+KOLIBRI_THREAD_DATA_FLAG*4],30 |
496 | jc Menuet_main_end |
496 | jc Menuet_main_end |
497 | jmp Menuet_main_cycle |
497 | jmp Menuet_main_cycle |
Line 498... | Line 498... | ||
498 | endp |
498 | endp |
Line 582... | Line 582... | ||
582 | mov edx,40 |
582 | mov edx,40 |
583 | int 0x40 |
583 | int 0x40 |
584 | ret |
584 | ret |
585 | endp |
585 | endp |
Line -... | Line 586... | ||
- | 586 | ||
- | 587 | proc @Kolibri@DrawText$qssipxc uses ebx |
|
- | 588 | mov eax,4 |
|
- | 589 | mov ebx,[esp+8-2] |
|
- | 590 | mov bx,[esp+12] |
|
- | 591 | mov ecx,[esp+16] |
|
- | 592 | or ecx,0x80000000 |
|
- | 593 | mov edx,[esp+20] |
|
- | 594 | int 0x40 |
|
- | 595 | ret |
|
- | 596 | endp |
|
586 | 597 | ||
587 | proc @Kolibri@GetProcessInfo$qpuipct1t1piui uses ebx esi edi |
598 | proc @Kolibri@GetProcessInfo$qpuipct1t1piui uses ebx esi edi |
588 | sub esp,1024 |
599 | sub esp,1024 |
589 | mov eax,9 |
600 | mov eax,9 |
590 | mov ebx,esp |
601 | mov ebx,esp |
Line 644... | Line 655... | ||
644 | ret |
655 | ret |
645 | endp |
656 | endp |
Line 646... | Line 657... | ||
646 | 657 | ||
647 | proc @Kolibri@GetPid$qppv |
658 | proc @Kolibri@GetPid$qppv |
648 | mov ecx,[esp+4] |
659 | mov ecx,[esp+4] |
649 | mov eax,[ecx+MENUET_THREAD_DATA_PID*4] |
660 | mov eax,[ecx+KOLIBRI_THREAD_DATA_PID*4] |
650 | ret |
661 | ret |
Line 651... | Line 662... | ||
651 | endp |
662 | endp |
652 | 663 | ||
Line 689... | Line 700... | ||
689 | lock inc dword [@Kolibri@_ThreadScanCount] |
700 | lock inc dword [@Kolibri@_ThreadScanCount] |
690 | mov eax,dword [@Kolibri@_ThreadTable+eax*4] |
701 | mov eax,dword [@Kolibri@_ThreadTable+eax*4] |
691 | mov ecx,[esp+4] |
702 | mov ecx,[esp+4] |
692 | jmp .get_thread_data_test |
703 | jmp .get_thread_data_test |
693 | .get_thread_data_loop: |
704 | .get_thread_data_loop: |
694 | mov eax,dword [eax+MENUET_THREAD_DATA_NEXT*4] |
705 | mov eax,dword [eax+KOLIBRI_THREAD_DATA_NEXT*4] |
695 | .get_thread_data_test: |
706 | .get_thread_data_test: |
696 | test eax,eax |
707 | test eax,eax |
697 | jz .get_thread_data_end |
708 | jz .get_thread_data_end |
698 | cmp ecx,[eax+MENUET_THREAD_DATA_PID*4] |
709 | cmp ecx,[eax+KOLIBRI_THREAD_DATA_PID*4] |
699 | jnz .get_thread_data_loop |
710 | jnz .get_thread_data_loop |
700 | .get_thread_data_end: |
711 | .get_thread_data_end: |
701 | lock dec dword [@Kolibri@_ThreadScanCount] |
712 | lock dec dword [@Kolibri@_ThreadScanCount] |
702 | ret |
713 | ret |
703 | .get_thread_data_wait: |
714 | .get_thread_data_wait: |