Rev 8196 | Rev 8283 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 8196 | Rev 8236 | ||
---|---|---|---|
Line 75... | Line 75... | ||
75 | sub esp,1024 |
75 | sub esp,1024 |
76 | mov eax,SF_THREAD_INFO |
76 | mov eax,SF_THREAD_INFO |
77 | mov ebx,esp |
77 | mov ebx,esp |
78 | mov ecx,-1 |
78 | mov ecx,-1 |
79 | int 0x40 |
79 | int 0x40 |
80 | mov ebx,[esp+26] |
80 | mov ebx,[esp+process_information.used_memory] |
81 | mov edx,[esp+30] |
81 | mov edx,[esp+process_information.PID] |
82 | lea eax,[ebx-0x20] |
82 | lea eax,[ebx-0x20] |
83 | add esp,1024 |
83 | add esp,1024 |
84 | cmp esp,eax |
84 | cmp esp,eax |
85 | cmova esp,eax |
85 | cmova esp,eax |
86 | and esp,not 3 |
86 | and esp,not 3 |
87 | if defined @Kolibri@CommandLine |
- | |
88 | mov byte [@Kolibri@CommandLine+256], 0 |
- | |
89 | end if |
- | |
90 | xor eax,eax |
87 | xor eax,eax |
91 | cld |
88 | cld |
92 | mov edi,@Kolibri@_ThreadTable |
89 | mov edi,@Kolibri@_ThreadTable |
93 | mov ecx,256 |
90 | mov ecx,256 |
94 | rep stosd |
91 | rep stosd |
Line 171... | Line 168... | ||
171 | sub esp,1024 |
168 | sub esp,1024 |
172 | mov eax,SF_THREAD_INFO |
169 | mov eax,SF_THREAD_INFO |
173 | mov ebx,esp |
170 | mov ebx,esp |
174 | mov ecx,-1 |
171 | mov ecx,-1 |
175 | int 0x40 |
172 | int 0x40 |
176 | mov eax,[esp+34] |
173 | mov eax,[esp+process_information.box.left] |
177 | mov ebx,[esp+38] |
174 | mov ebx,[esp+process_information.box.top] |
178 | mov ecx,[esp+42] |
175 | mov ecx,[esp+process_information.box.width] |
179 | mov edx,[esp+46] |
176 | mov edx,[esp+process_information.box.height] |
180 | add esp,1024 |
177 | add esp,1024 |
181 | cmp ecx,[esp+KOLIBRI_THREAD_DATA_LAST_SX*4] |
178 | cmp ecx,[esp+KOLIBRI_THREAD_DATA_LAST_SX*4] |
182 | jnz .main_size |
179 | jnz .main_size |
183 | cmp edx,[esp+KOLIBRI_THREAD_DATA_LAST_SY*4] |
180 | cmp edx,[esp+KOLIBRI_THREAD_DATA_LAST_SY*4] |
184 | jz .main_paint |
181 | jz .main_paint |
Line 330... | Line 327... | ||
330 | xchg ebp,[esp+8] |
327 | xchg ebp,[esp+8] |
331 | xchg ebx,[esp+4] |
328 | xchg ebx,[esp+4] |
332 | ret |
329 | ret |
333 | endp |
330 | endp |
Line 334... | Line -... | ||
334 | - | ||
335 | macro call func |
- | |
336 | { |
- | |
337 | if func eq __chkstk |
- | |
338 | sub esp,eax |
- | |
339 | else |
- | |
340 | call func |
- | |
341 | end if |
- | |
342 | } |
- | |
343 | 331 | ||
344 | proc @Kolibri@Redraw$qippv |
332 | proc @Kolibri@Redraw$qippv |
345 | push ebp |
333 | push ebp |
346 | mov ebp,[esp+12] |
334 | mov ebp,[esp+12] |
347 | mov edx,[ebp+KOLIBRI_THREAD_DATA_FLAG*4] |
335 | mov edx,[ebp+KOLIBRI_THREAD_DATA_FLAG*4] |
Line 377... | Line 365... | ||
377 | mov ecx,[ebp+KOLIBRI_THREAD_DATA_Y*4] |
365 | mov ecx,[ebp+KOLIBRI_THREAD_DATA_Y*4] |
378 | add cx,ax |
366 | add cx,ax |
379 | add ecx,5-1 |
367 | add ecx,5-1 |
380 | mov edx,[ebp+KOLIBRI_THREAD_DATA_C_WINDOW*4] |
368 | mov edx,[ebp+KOLIBRI_THREAD_DATA_C_WINDOW*4] |
381 | mov edi,[ebp+KOLIBRI_THREAD_DATA_TITLE*4] |
369 | mov edi,[ebp+KOLIBRI_THREAD_DATA_TITLE*4] |
382 | xor eax,eax |
370 | xor eax,eax ;SF_CREATE_WINDOW |
383 | int 0x40 |
371 | int 0x40 |
384 | .redraw_picture: |
372 | .redraw_picture: |
385 | call @@KolibriOnPaint$qv |
373 | call @@KolibriOnPaint$qv |
386 | .redraw_end_draw: |
374 | .redraw_end_draw: |
387 | mov eax,SF_REDRAW |
375 | mov eax,SF_REDRAW |
Line 418... | Line 406... | ||
418 | mov eax,SF_THREAD_INFO |
406 | mov eax,SF_THREAD_INFO |
419 | mov ebx,esp |
407 | mov ebx,esp |
420 | mov ecx,-1 |
408 | mov ecx,-1 |
421 | int 0x40 |
409 | int 0x40 |
422 | mov esi,eax |
410 | mov esi,eax |
423 | mov edi,[esp+30] |
411 | mov edi,[esp+process_information.PID] |
424 | .exit_process_loop: |
412 | .exit_process_loop: |
425 | mov eax,SF_THREAD_INFO |
413 | mov eax,SF_THREAD_INFO |
426 | mov ebx,esp |
414 | mov ebx,esp |
427 | mov ecx,esi |
415 | mov ecx,esi |
428 | int 0x40 |
416 | int 0x40 |
429 | mov eax,[esp+30] |
417 | mov eax,[esp+process_information.PID] |
430 | cmp eax,edi |
418 | cmp eax,edi |
431 | jz .exit_process_continue |
419 | jz .exit_process_continue |
432 | mov ebx,eax |
420 | mov ebx,eax |
433 | or bl,15 |
421 | or bl,15 |
434 | inc ebx |
422 | inc ebx |
Line 474... | Line 462... | ||
474 | jna .exit_process_wait_loop |
462 | jna .exit_process_wait_loop |
475 | mov ebx,KOLIBRI_MUTEX_MAX_TIME_WAIT |
463 | mov ebx,KOLIBRI_MUTEX_MAX_TIME_WAIT |
476 | jmp .exit_process_wait_loop |
464 | jmp .exit_process_wait_loop |
477 | endp |
465 | endp |
Line 478... | Line 466... | ||
478 | 466 | ||
479 | proc @Kolibri@ExitThread$qppv,@Kolibri@ThreadMain$qpvt1 |
467 | proc @Kolibri@ExitThread$qppv |
480 | mov esp,[esp+4] |
468 | mov esp,[esp+4] |
481 | jmp Kolibri_main_end |
469 | jmp @Kolibri@ThreadMain$qpvt1.main_end |
Line 482... | Line 470... | ||
482 | endp |
470 | endp |
483 | 471 | ||
484 | proc @Kolibri@ReturnMessageLoop$qppv,@Kolibri@ThreadMain$qpvt1 |
472 | proc @Kolibri@ReturnMessageLoop$qppv |
485 | mov esp,[esp+4] |
473 | mov esp,[esp+4] |
486 | bt dword [esp+KOLIBRI_THREAD_DATA_FLAG*4],30 |
474 | bt dword [esp+KOLIBRI_THREAD_DATA_FLAG*4],30 |
487 | jc Kolibri_main_end |
475 | jc @Kolibri@ThreadMain$qpvt1.main_end |
Line 488... | Line 476... | ||
488 | jmp Kolibri_main_cycle |
476 | jmp @Kolibri@ThreadMain$qpvt1.main_cycle |
489 | endp |
477 | endp |
490 | 478 | ||
Line 596... | Line 584... | ||
596 | mov edx,[esp+20] |
584 | mov edx,[esp+20] |
597 | int 0x40 |
585 | int 0x40 |
598 | ret |
586 | ret |
599 | endp |
587 | endp |
Line -... | Line 588... | ||
- | 588 | ||
- | 589 | proc @Kolibri@PutImage$qpucllll uses ebx |
|
- | 590 | mov eax,SF_PUT_IMAGE |
|
- | 591 | mov ebx,[esp+8] |
|
- | 592 | mov ecx,[esp+20-2] |
|
- | 593 | mov cx,[esp+24] |
|
- | 594 | mov edx,[esp+12-2] |
|
- | 595 | mov dx,[esp+16] |
|
- | 596 | int 0x40 |
|
- | 597 | ret |
|
- | 598 | endp |
|
600 | 599 | ||
601 | proc @Kolibri@SetWindowCaption$qpxc uses ebx |
600 | proc @Kolibri@SetWindowCaption$qpxc uses ebx |
602 | mov eax,SF_SET_CAPTION |
601 | mov eax,SF_SET_CAPTION |
603 | mov ebx,2 |
602 | mov ebx,2 |
604 | mov ecx,[esp+8] |
603 | mov ecx,[esp+8] |
Line 619... | Line 618... | ||
619 | mov [edi],ecx |
618 | mov [edi],ecx |
620 | xor edi,edi |
619 | xor edi,edi |
621 | .get_proc_info_no_usecpu: |
620 | .get_proc_info_no_usecpu: |
622 | or edi,[1024+12+8+esp] |
621 | or edi,[1024+12+8+esp] |
623 | jz .get_proc_info_no_name |
622 | jz .get_proc_info_no_name |
624 | lea esi,[esp+10] |
623 | lea esi,[esp+process_information.process_name] |
625 | cld |
624 | cld |
626 | movsd |
625 | movsd |
627 | movsd |
626 | movsd |
628 | movsd |
627 | movsd |
629 | mov byte [edi],0 |
628 | mov byte [edi],0 |
630 | xor edi,edi |
629 | xor edi,edi |
631 | .get_proc_info_no_name: |
630 | .get_proc_info_no_name: |
632 | or edi,[1024+12+12+esp] |
631 | or edi,[1024+12+12+esp] |
633 | jz .get_proc_info_no_mem |
632 | jz .get_proc_info_no_mem |
634 | mov ecx,[esp+26] |
633 | mov ecx,[esp+process_information.used_memory] |
635 | mov [edi],ecx |
634 | mov [edi],ecx |
636 | xor edi,edi |
635 | xor edi,edi |
637 | .get_proc_info_no_mem: |
636 | .get_proc_info_no_mem: |
638 | or edi,[1024+12+16+esp] |
637 | or edi,[1024+12+16+esp] |
639 | jz .get_proc_info_no_pid |
638 | jz .get_proc_info_no_pid |
640 | mov ecx,[esp+30] |
639 | mov ecx,[esp+process_information.PID] |
641 | mov [edi],ecx |
640 | mov [edi],ecx |
642 | xor edi,edi |
641 | xor edi,edi |
643 | .get_proc_info_no_pid: |
642 | .get_proc_info_no_pid: |
644 | or edi,[1024+12+20+esp] |
643 | or edi,[1024+12+20+esp] |
645 | jz .get_proc_info_no_rect |
644 | jz .get_proc_info_no_rect |
646 | lea esi,[esp+34] |
645 | lea esi,[esp+process_information.box] |
647 | cld |
646 | cld |
648 | movsd |
647 | movsd |
649 | movsd |
648 | movsd |
650 | movsd |
649 | movsd |
651 | movsd |
650 | movsd |