Subversion Repositories Kolibri OS

Rev

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

Rev 8869 Rev 8874
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2021. 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: 8869 $
8
$Revision: 8874 $
Line 9... Line 9...
9
 
9
 
Line 491... Line 491...
491
        mov     ecx, 2*32
491
        mov     ecx, 2*32
Line 492... Line 492...
492
 
492
 
493
.loop:
493
.loop:
494
;ecx = offset of current process info entry
494
;ecx = offset of current process info entry
495
;ebx = maximum permitted offset
-
 
496
        ; state 9 means "not used"
495
;ebx = maximum permitted offset
497
        cmp     byte [TASK_TABLE+ecx+TASKDATA.state], TSTATE_FREE
496
        cmp     [TASK_TABLE+ecx+TASKDATA.state], TSTATE_FREE
498
        jz      .endloop ;skip empty slots
497
        jz      .endloop ;skip empty slots
499
        cmp     [TASK_TABLE+ecx+TASKDATA.pid], eax;check PID
498
        cmp     [TASK_TABLE+ecx+TASKDATA.pid], eax;check PID
500
        jz      .pid_found
499
        jz      .pid_found
501
.endloop:
500
.endloop:
502
        add     ecx, 32
501
        add     ecx, sizeof.TASKDATA
503
        cmp     ecx, ebx
502
        cmp     ecx, ebx
Line 504... Line 503...
504
        jle     .loop
503
        jle     .loop
505
 
504
 
Line 893... Line 892...
893
        stdcall kernel_free, ebp
892
        stdcall kernel_free, ebp
894
        mov     ebx, [current_slot]
893
        mov     ebx, [current_slot]
895
        cmp     [ebx+APPDATA.debugger_slot], 0
894
        cmp     [ebx+APPDATA.debugger_slot], 0
896
        je      .exit
895
        je      .exit
897
        mov     eax, [TASK_BASE]
896
        mov     eax, [TASK_BASE]
898
        mov     [eax+TASKDATA.state], 1
897
        mov     [eax+TASKDATA.state], TSTATE_RUN_SUSPENDED
899
        call    change_task
898
        call    change_task
900
.exit:
899
.exit:
901
        popad
900
        popad
902
        iretd
901
        iretd
Line 985... Line 984...
985
 
984
 
Line 986... Line 985...
986
        mov     [ebx+TASKDATA.event_mask], dword 1+2+4;set default event flags (see 40 function)
985
        mov     [ebx+TASKDATA.event_mask], dword 1+2+4;set default event flags (see 40 function)
987
 
986
 
988
        inc     dword [process_number]
987
        inc     dword [process_number]
Line 989... Line 988...
989
        mov     eax, [process_number]
988
        mov     eax, [process_number]
990
        mov     [ebx+4], eax    ;set PID
989
        mov     [ebx+TASKDATA.pid], eax    ;set PID
991
 
990
 
992
;set draw data to full screen
991
;set draw data to full screen