Subversion Repositories Kolibri OS

Rev

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

Rev 8867 Rev 8869
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2015. 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: 8867 $
8
$Revision: 8869 $
9
 
9
 
10
 
10
 
Line 46... Line 46...
46
        call    pid_to_slot
46
        call    pid_to_slot
47
        test    eax, eax
47
        test    eax, eax
48
        jz      .ret_bad
48
        jz      .ret_bad
49
        shl     eax, 5
49
        shl     eax, 5
50
        push    ebx
50
        push    ebx
51
        mov     ebx, [CURRENT_TASK]
51
        mov     ebx, [current_slot_idx]
52
        cmp     [SLOT_BASE+eax*8+APPDATA.debugger_slot], ebx
52
        cmp     [SLOT_BASE+eax*8+APPDATA.debugger_slot], ebx
53
        pop     ebx
53
        pop     ebx
54
        jnz     .ret_bad
54
        jnz     .ret_bad
55
;       clc     ; automatically
55
;       clc     ; automatically
56
        ret
56
        ret
Line 90... Line 90...
90
;        shl     eax, 5
90
;        shl     eax, 5
91
;        jz      .ret
91
;        jz      .ret
92
        call    get_debuggee_slot
92
        call    get_debuggee_slot
93
        jc      .ret
93
        jc      .ret
94
; } End patch
94
; } End patch
95
        mov     cl, [CURRENT_TASK+eax+TASKDATA.state] ; process state
95
        mov     cl, [TASK_TABLE+eax+TASKDATA.state] ; process state
96
        test    cl, cl
96
        test    cl, cl
97
        jz      .1
97
        jz      .1
98
        cmp     cl, 5
98
        cmp     cl, 5
99
        jnz     .ret
99
        jnz     .ret
100
        mov     cl, 2
100
        mov     cl, 2
101
.2:
101
.2:
102
        mov     [CURRENT_TASK+eax+TASKDATA.state], cl
102
        mov     [TASK_TABLE+eax+TASKDATA.state], cl
103
.ret:
103
.ret:
104
        sti
104
        sti
105
        ret
105
        ret
106
.1:
106
.1:
107
        inc     ecx
107
        inc     ecx
108
        jmp     .2
108
        jmp     .2
Line 109... Line 109...
109
 
109
 
110
do_resume:
110
do_resume:
111
        mov     cl, [CURRENT_TASK+eax+TASKDATA.state]
111
        mov     cl, [TASK_TABLE+eax+TASKDATA.state]
112
        cmp     cl, 1
112
        cmp     cl, 1
113
        jz      .1
113
        jz      .1
114
        cmp     cl, 2
114
        cmp     cl, 2
115
        jnz     .ret
115
        jnz     .ret
116
        mov     cl, 5
116
        mov     cl, 5
117
.2:
117
.2:
118
        mov     [CURRENT_TASK+eax+TASKDATA.state], cl
118
        mov     [TASK_TABLE+eax+TASKDATA.state], cl
119
.ret:
119
.ret:
120
        ret
120
        ret
121
.1:
121
.1:
122
        dec     ecx
122
        dec     ecx
Line 414... Line 414...
414
        jg      @f
414
        jg      @f
415
.2:
415
.2:
416
        pop     ecx
416
        pop     ecx
417
        pop     ecx
417
        pop     ecx
418
        pop     ecx
418
        pop     ecx
419
        cmp     dword [CURRENT_TASK], 1
419
        cmp     dword [current_slot_idx], 1
420
        jnz     .notos
420
        jnz     .notos
421
        cmp     [timer_ticks], edi
421
        cmp     [timer_ticks], edi
422
        jae     .ret
422
        jae     .ret
423
.notos:
423
.notos:
424
        sti
424
        sti