Subversion Repositories Kolibri OS

Rev

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

Rev 2498 Rev 2503
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2012. 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: 2498 $
8
$Revision: 2503 $
Line 9... Line 9...
9
 
9
 
Line 70... Line 70...
70
         save_cr3      dd ?
70
         save_cr3      dd ?
71
         slot      dd ?
71
         slot      dd ?
72
         slot_base     dd ?
72
         slot_base     dd ?
73
         file_base     dd ?
73
         file_base     dd ?
74
         file_size     dd ?
74
         file_size     dd ?
-
 
75
         handle        dd ? ;temp. for default cursor handle for curr. thread
75
                      ;app header data
76
                      ;app header data
76
         hdr_cmdline   dd ? ;0x00
77
         hdr_cmdline   dd ? ;0x00
77
         hdr_path      dd ? ;0x04
78
         hdr_path      dd ? ;0x04
78
         hdr_eip       dd ? ;0x08
79
         hdr_eip       dd ? ;0x08
79
         hdr_esp       dd ? ;0x0C
80
         hdr_esp       dd ? ;0x0C
80
         hdr_mem       dd ? ;0x10
81
         hdr_mem       dd ? ;0x10
81
         hdr_i_end     dd ? ;0x14
82
         hdr_i_end     dd ? ;0x14
82
       endl
83
       endl
Line 83... Line 84...
83
 
84
 
-
 
85
        pushad
-
 
86
 
84
        pushad
87
        pushad
-
 
88
        stdcall set_cursor, [def_cursor_clock]
-
 
89
        mov     [handle], eax
-
 
90
        mov     [redrawmouse_unconditional], 1
-
 
91
        call    __sys_draw_pointer
Line 85... Line 92...
85
        call    set_default_cursor_clock
92
        popad
Line 86... Line 93...
86
 
93
 
Line 112... Line 119...
112
        jnz     @b
119
        jnz     @b
113
        jmp     .namecopied
120
        jmp     .namecopied
114
.bigfilename:
121
.bigfilename:
115
        popad
122
        popad
116
        mov     eax, -ERROR_FILE_NOT_FOUND
123
        mov     eax, -ERROR_FILE_NOT_FOUND
117
        call    set_default_cursor_arrow
-
 
-
 
124
 
118
        ret
125
        jmp     .final
Line 119... Line 126...
119
 
126
 
Line 120... Line 127...
120
.namecopied:
127
.namecopied:
121
 
128
 
Line 238... Line 245...
238
        call    set_cr3
245
        call    set_cr3
Line 239... Line 246...
239
 
246
 
240
        xor     ebx, ebx
247
        xor     ebx, ebx
241
        mov     [application_table_status], ebx;unlock application_table_status mutex
248
        mov     [application_table_status], ebx;unlock application_table_status mutex
-
 
249
        mov     eax, [process_number];set result
242
        mov     eax, [process_number];set result
250
 
243
        call    set_default_cursor_arrow
251
        jmp     .final
244
        ret
252
 
245
.failed:
253
.failed:
246
        mov     eax, [save_cr3]
254
        mov     eax, [save_cr3]
247
        call    set_cr3
255
        call    set_cr3
248
.err:
256
.err:
249
.err_hdr:
257
.err_hdr:
250
        stdcall kernel_free, [file_base]
258
        stdcall kernel_free, [file_base]
251
.err_file:
259
.err_file:
252
        xor     eax, eax
260
        xor     eax, eax
253
        mov     [application_table_status], eax
261
        mov     [application_table_status], eax
-
 
262
        mov     eax, esi
-
 
263
.final:
-
 
264
        pushad
-
 
265
        stdcall set_cursor, [handle]
254
        mov     eax, esi
266
        mov     [redrawmouse_unconditional], 1
-
 
267
        call    __sys_draw_pointer
255
        call    set_default_cursor_arrow
268
        popad
256
        ret
269
        ret
Line 257... Line 270...
257
endp
270
endp
258
 
271