Subversion Repositories Kolibri OS

Rev

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

Rev 3304 Rev 3539
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2012. 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: 3304 $
8
$Revision: 3539 $
9
 
9
 
10
; Old style system call converter
10
; Old style system call converter
11
align 16
11
align 16
Line 27... Line 27...
27
;;                                                            ;;
27
;;                                                            ;;
28
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
28
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 29... Line 29...
29
 
29
 
30
align 32
30
align 32
31
sysenter_entry:
31
sysenter_entry:
32
        ; Íàñòðàèâàåì ñòåê
32
        ; Настраиваем стек
33
        mov     esp, [ss:tss._esp0]
33
        mov     esp, [ss:tss._esp0]
34
        sti
34
        sti
35
        push    ebp                     ; save app esp + 4
35
        push    ebp                     ; save app esp + 4
36
        mov     ebp, [ebp]              ; ebp - original ebp
36
        mov     ebp, [ebp]              ; ebp - original ebp
Line 45... Line 45...
45
        call    dword [servetable2 + eax * 4]
45
        call    dword [servetable2 + eax * 4]
Line 46... Line 46...
46
 
46
 
47
        call    unprotect_from_terminate
47
        call    unprotect_from_terminate
48
        popad
48
        popad
49
        ;------------------
49
        ;------------------
50
        xchg    ecx, [ss:esp]           ; â âåðøèí ñòåêà - app ecx, ecx - app esp + 4
50
        xchg    ecx, [ss:esp]           ; в вершин стека - app ecx, ecx - app esp + 4
51
        sub     ecx, 4
51
        sub     ecx, 4
52
        xchg    edx, [ecx]              ; edx - return point, & save original edx
52
        xchg    edx, [ecx]              ; edx - return point, & save original edx
53
        push    edx
53
        push    edx
54
        mov     edx, [ss:esp + 4]
54
        mov     edx, [ss:esp + 4]