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 |