Subversion Repositories Kolibri OS

Rev

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