Rev 9911 | Rev 9930 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 9911 | Rev 9925 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | ;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2022. 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: 9911 $ |
8 | $Revision: 9925 $ |
Line 9... | Line 9... | ||
9 | 9 | ||
Line 975... | Line 975... | ||
975 | mov [SLOT_BASE + ebx + APPDATA.pl0_stack], eax |
975 | mov [SLOT_BASE + ebx + APPDATA.pl0_stack], eax |
976 | add eax, RING0_STACK_SIZE |
976 | add eax, RING0_STACK_SIZE |
977 | mov [SLOT_BASE + ebx + APPDATA.saved_esp0], eax |
977 | mov [SLOT_BASE + ebx + APPDATA.saved_esp0], eax |
Line 978... | Line 978... | ||
978 | 978 | ||
979 | push ebx |
979 | push ebx |
980 | stdcall kernel_alloc, maxPathLength |
980 | stdcall kernel_alloc, maxPathLength ;TODO |
981 | pop ebx |
981 | pop ebx |
982 | mov esi, [current_slot] |
982 | mov esi, [current_slot] |
983 | mov esi, [esi + APPDATA.cur_dir] |
983 | mov esi, [esi + APPDATA.cur_dir] |
984 | mov ecx, maxPathLength/4 |
984 | mov ecx, maxPathLength/4 |
Line 1001... | Line 1001... | ||
1001 | mov [window_data + ebx + WDATA.fl_wstate], WSTATE_NORMAL |
1001 | mov [window_data + ebx + WDATA.fl_wstate], WSTATE_NORMAL |
1002 | mov [window_data + ebx + WDATA.fl_redraw], 1 |
1002 | mov [window_data + ebx + WDATA.fl_redraw], 1 |
Line 1003... | Line 1003... | ||
1003 | 1003 | ||
1004 | ;set draw data to full screen |
1004 | ;set draw data to full screen |
1005 | xor eax, eax |
1005 | xor eax, eax |
1006 | mov [ecx+0], dword eax |
1006 | mov [ecx + RECT.left], eax |
1007 | mov [ecx+4], dword eax |
1007 | mov [ecx + RECT.top], eax |
1008 | mov eax, [screen_workarea.right] |
1008 | mov eax, [screen_workarea.right] |
1009 | mov [ecx+8], eax |
1009 | mov [ecx + RECT.right], eax |
1010 | mov eax, [screen_workarea.bottom] |
1010 | mov eax, [screen_workarea.bottom] |
Line 1011... | Line 1011... | ||
1011 | mov [ecx+12], eax |
1011 | mov [ecx + RECT.bottom], eax |
1012 | 1012 | ||
1013 | mov ebx, [pl0_stack] |
1013 | mov ebx, [pl0_stack] |
1014 | mov esi, [params] |
1014 | mov esi, [params] |
Line 1082... | Line 1082... | ||
1082 | shl ebx, BSF sizeof.APPDATA ; multiply by size |
1082 | shl ebx, BSF sizeof.APPDATA ; multiply by size |
1083 | ; skip first process in the task table |
1083 | ; skip first process in the task table |
1084 | .loop: |
1084 | .loop: |
1085 | add ecx, sizeof.APPDATA |
1085 | add ecx, sizeof.APPDATA |
1086 | cmp [SLOT_BASE + ecx + APPDATA.state], TSTATE_FREE |
1086 | cmp [SLOT_BASE + ecx + APPDATA.state], TSTATE_FREE |
1087 | jz .loop ;skip empty slots |
1087 | jz @f ;skip empty slots |
1088 | cmp [SLOT_BASE + ecx + APPDATA.tid], eax |
1088 | cmp [SLOT_BASE + ecx + APPDATA.tid], eax |
1089 | jz .pid_found |
1089 | jz .pid_found |
1090 | ;ecx = offset of current process info entry |
1090 | ;ecx = offset of current process info entry |
1091 | ;ebx = maximum permitted offset |
1091 | ;ebx = maximum permitted offset |
- | 1092 | @@: |
|
1092 | cmp ecx, ebx |
1093 | cmp ecx, ebx |
1093 | jb .loop |
1094 | jb .loop |
Line 1094... | Line 1095... | ||
1094 | 1095 | ||
1095 | pop ecx |
1096 | pop ecx |