Subversion Repositories Kolibri OS

Rev

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

Rev 1056 Rev 1076
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2007. 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: 1056 $
8
$Revision: 1076 $
9
 
9
 
10
 
10
 
Line 412... Line 412...
412
        mov     eax, ebp
412
        mov     eax, ebp
413
        shl     eax, 8
413
        shl     eax, 8
414
        or      byte [SLOT_BASE+eax+APPDATA.event_mask+1], 1      ; set flag 100h
414
        or      byte [SLOT_BASE+eax+APPDATA.event_mask+1], 1      ; set flag 100h
415
.ret:
415
.ret:
416
        ret
416
        ret
417
 
-
 
418
debug_ex:
-
 
419
; we are debugged process, notify debugger and suspend ourself
-
 
420
; eax=debugger PID
-
 
421
        mov     edx, dr6 ; debug_message data=DR6_image
-
 
422
        xor     ebx, ebx
-
 
423
        mov     dr6, ebx
-
 
424
        mov     ebx, dr7
-
 
425
        mov     cl, not 8
-
 
426
  .l1:  shl     bl,2
-
 
427
        jc      @f
-
 
428
        and     dl, cl
-
 
429
  @@:   sar     cl,1
-
 
430
        jc      .l1
-
 
431
        mov     ecx,3    ; debug_message code=debug_exception
-
 
432
.notify:
-
 
433
        push    edx      ; debug_message data
-
 
434
        mov     ebx, [TASK_BASE]
-
 
435
        push    [ebx+TASKDATA.pid] ; PID
-
 
436
        push    ecx      ; debug_message code
-
 
437
        mov     ecx,12   ; debug_message size
-
 
438
        call    debugger_notify ;; only ONE using, inline ???
-
 
439
        add     esp,12
-
 
440
        mov     edx, [TASK_BASE]
-
 
441
        mov     byte [edx+TASKDATA.state], 1    ; suspended
-
 
442
        call    change_task
-
 
443
        restore_ring3_context
-
 
444
        iretd
-