Subversion Repositories Kolibri OS

Rev

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

Rev 4429 Rev 4430
Line 255... Line 255...
255
        stdcall create_process, [hdr_mem], [file_base], [file_size]
255
        stdcall create_process, [hdr_mem], [file_base], [file_size]
256
        mov     esi, -30; no memory
256
        mov     esi, -30; no memory
257
        test    eax, eax
257
        test    eax, eax
258
        jz      .failed
258
        jz      .failed
Line -... Line 259...
-
 
259
 
-
 
260
        mov     ebx, [hdr_mem]
-
 
261
        mov     [eax+PROC.mem_used], ebx
259
 
262
 
260
        mov     ebx, [slot_base]
263
        mov     ebx, [slot_base]
261
        mov     [ebx+APPDATA.process], eax
-
 
262
        mov     eax, [hdr_mem]
-
 
Line 263... Line 264...
263
        mov     [ebx+APPDATA.mem_size], eax
264
        mov     [ebx+APPDATA.process], eax
264
 
265
 
265
        xor     edx, edx
266
        xor     edx, edx
Line 974... Line 975...
974
        mov     esi, ebx
975
        mov     esi, ebx
975
        mov     edi, edx
976
        mov     edi, edx
976
        mov     ecx, 11
977
        mov     ecx, 11
977
        rep movsb             ;copy process name
978
        rep movsb             ;copy process name
Line 978... Line 979...
978
 
979
 
979
        mov     eax, [ebx+APPDATA.heap_base]
980
        mov     eax, [ebx+APPDATA.process]
980
        mov     [edx+APPDATA.heap_base], eax
-
 
981
 
-
 
982
        mov     ecx, [ebx+APPDATA.heap_top]
-
 
983
        mov     [edx+APPDATA.heap_top], ecx
-
 
984
 
-
 
985
        mov     eax, [ebx+APPDATA.mem_size]
-
 
986
        mov     [edx+APPDATA.mem_size], eax
-
 
987
 
-
 
988
        mov     ecx, [ebx+APPDATA.process]
-
 
Line 989... Line 981...
989
        mov     [edx+APPDATA.process], ecx;copy page directory
981
        mov     [edx+APPDATA.process], eax
990
 
982
 
Line 991... Line 983...
991
        mov     eax, [ebx+APPDATA.dlls_list_ptr]
983
        mov     eax, [ebx+APPDATA.dlls_list_ptr]
Line 1116... Line 1108...
1116
 
1108
 
1117
        mov     eax, edx
1109
        mov     eax, edx
1118
        add     eax, 256
1110
        add     eax, 256
Line 1119... Line 1111...
1119
        jc      @f
1111
        jc      @f
1120
 
1112
 
Line 1121... Line 1113...
1121
        cmp     eax, [SLOT_BASE+APPDATA.mem_size+ebx*8]
1113
;        cmp     eax, [SLOT_BASE+APPDATA.mem_size+ebx*8]
Line 1122... Line 1114...
1122
        ja      @f
1114
;        ja      @f
1123
 
1115
 
Line 1156... Line 1148...
1156
        test    edx, edx
1148
        test    edx, edx
1157
        jz      @F     ;application don't need path of file
1149
        jz      @F     ;application don't need path of file
1158
        mov     eax, edx
1150
        mov     eax, edx
1159
        add     eax, 1024
1151
        add     eax, 1024
1160
        jc      @f
1152
        jc      @f
1161
        cmp     eax, [SLOT_BASE+APPDATA.mem_size+ebx*8]
1153
;        cmp     eax, [SLOT_BASE+APPDATA.mem_size+ebx*8]
1162
        ja      @f
1154
;        ja      @f
1163
        stdcall strncpy, edx, [app_path], 1024
1155
        stdcall strncpy, edx, [app_path], 1024
1164
@@:
1156
@@:
1165
        mov     ebx, [slot]
1157
        mov     ebx, [slot]
1166
        mov     eax, ebx
1158
        mov     eax, ebx
1167
        shl     ebx, 5
1159
        shl     ebx, 5