Rev 864 | Rev 887 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 864 | Rev 886 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | ;; Copyright (C) KolibriOS team 2004-2008. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2008. All rights reserved. ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; ;; |
5 | ;; ;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 7... | Line 7... | ||
7 | 7 | ||
Line 8... | Line 8... | ||
8 | $Revision: 864 $ |
8 | $Revision: 886 $ |
9 | 9 | ||
Line 65... | Line 65... | ||
65 | ret |
65 | ret |
Line 66... | Line 66... | ||
66 | 66 | ||
67 | .err: |
67 | .err: |
68 | xor eax, eax |
68 | xor eax, eax |
69 | ret |
- | |
70 | 69 | ret |
|
Line 71... | Line 70... | ||
71 | endp |
70 | endp |
72 | 71 | ||
Line 177... | Line 176... | ||
177 | .exit: |
176 | .exit: |
Line 178... | Line 177... | ||
178 | 177 | ||
179 | cmp dword [esp + 32], 8 |
178 | cmp dword [esp + 32], 8 |
180 | mov al, 0x20 |
179 | mov al, 0x20 |
- | 180 | jb @f |
|
181 | jb @f |
181 | |
182 | out 0xa0, al |
182 | out 0xa0, al |
183 | @@: |
183 | @@: |
Line 184... | Line 184... | ||
184 | out 0x20, al |
184 | out 0x20, al |
Line 193... | Line 193... | ||
193 | 193 | ||
194 | .wait: |
194 | .wait: |
195 | mov ebx,[current_slot] |
195 | mov ebx,[current_slot] |
196 | test dword [ebx+APPDATA.event_mask],EVENT_NOTIFY |
196 | test dword [ebx+APPDATA.event_mask],EVENT_NOTIFY |
- | 197 | jz @f |
|
197 | jz @f |
198 | |
198 | and dword [ebx+APPDATA.event_mask], not EVENT_NOTIFY |
199 | and dword [ebx+APPDATA.event_mask], not EVENT_NOTIFY |
199 | mov edi, [p_ev] |
200 | mov edi, [p_ev] |
200 | mov dword [edi], EV_INTR |
201 | mov dword [edi], EV_INTR |
201 | mov eax, [ebx+APPDATA.event] |
202 | mov eax, [ebx+APPDATA.event] |
Line 463... | Line 464... | ||
463 | test eax,eax |
464 | test eax,eax |
464 | jz .ok |
465 | jz .ok |
465 | add [pSym], 18 |
466 | add [pSym], 18 |
466 | dec [count] |
467 | dec [count] |
467 | jnz @b |
468 | jnz @b |
- | 469 | ||
468 | xor eax, eax |
470 | xor eax, eax |
469 | ret |
471 | ret |
470 | .ok: |
472 | .ok: |
471 | mov ebx, [pSym] |
473 | mov ebx, [pSym] |
472 | mov eax, [ebx+8] |
474 | mov eax, [ebx+8] |
473 | ret |
475 | ret |
474 | endp |
476 | endp |
Line 475... | Line 477... | ||
475 | 477 | ||
476 | align 4 |
478 | align 4 |
477 | proc get_curr_task |
479 | get_curr_task: |
478 | mov eax,[CURRENT_TASK] |
480 | mov eax,[CURRENT_TASK] |
479 | shl eax, 8 |
481 | shl eax, 8 |
480 | ret |
- | |
Line 481... | Line 482... | ||
481 | endp |
482 | ret |
482 | 483 | ||
483 | align 4 |
484 | align 4 |
484 | proc get_fileinfo stdcall, file_name:dword, info:dword |
485 | proc get_fileinfo stdcall, file_name:dword, info:dword |
Line 610... | Line 611... | ||
610 | test eax, eax |
611 | test eax, eax |
611 | jz .cleanup |
612 | jz .cleanup |
Line 612... | Line 613... | ||
612 | 613 | ||
613 | mov [file2], eax |
614 | mov [file2], eax |
- | 615 | stdcall unpack, [file], eax |
|
614 | stdcall unpack, [file], eax |
616 | |
- | 617 | mov ecx, [file] |
|
- | 618 | call @mem_free@4 |
|
615 | stdcall kernel_free, [file] |
619 | |
616 | mov eax, [file2] |
620 | mov eax, [file2] |
617 | mov ebx, [file_size] |
621 | mov ebx, [file_size] |
618 | .exit: |
622 | .exit: |
619 | push eax |
623 | push eax |
Line 842... | Line 846... | ||
842 | mov [img_size], ecx |
846 | mov [img_size], ecx |
843 | mov edx, PG_SW |
847 | mov edx, PG_SW |
844 | call @mem_alloc@8 |
848 | call @mem_alloc@8 |
845 | test eax, eax |
849 | test eax, eax |
846 | jz .fail |
850 | jz .fail |
- | 851 | ||
847 | mov [img_base], eax |
852 | mov [img_base], eax |
Line 848... | Line 853... | ||
848 | 853 | ||
849 | mov edi, eax |
854 | mov edi, eax |
850 | xor eax, eax |
855 | xor eax, eax |
Line 1013... | Line 1018... | ||
1013 | jnz .copy |
1018 | jnz .copy |
1014 | add edi, [eax+CFS.SizeOfRawData] |
1019 | add edi, [eax+CFS.SizeOfRawData] |
1015 | jmp .next |
1020 | jmp .next |
1016 | .copy: |
1021 | .copy: |
1017 | add esi, edx |
1022 | add esi, edx |
1018 | ; add edi, new_app_base |
- | |
1019 | mov ecx, [eax+CFS.SizeOfRawData] |
1023 | mov ecx, [eax+CFS.SizeOfRawData] |
1020 | cld |
1024 | cld |
1021 | rep movsb |
1025 | rep movsb |
1022 | .next: |
1026 | .next: |
1023 | add edi, 15 ;-new_app_base |
1027 | add edi, 15 ;-new_app_base |