Subversion Repositories Kolibri OS

Rev

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