Subversion Repositories Kolibri OS

Rev

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

Rev 9 Rev 10
Line 38... Line 38...
38
        add   eax, [edi+0x14] ; counter sum
38
        add   eax, [edi+0x14] ; counter sum
39
        mov   [edi+0x14], eax
39
        mov   [edi+0x14], eax
Line 40... Line 40...
40
 
40
 
Line 41... Line -...
41
        mov   ebx,[0x3000]
-
 
42
 
41
        mov   ebx,[0x3000]
43
        xor   esi,esi           ;esi - should we change task?
42
 
Line 44... Line 43...
44
        cmp   [0xffff], byte 1
43
        cmp   [0xffff], byte 1
45
        je    .do_not_change_task
44
        je    .do_not_change_task
Line 64... Line 63...
64
       @@:
63
       @@:
Line 65... Line 64...
65
 
64
 
66
        mov   [0x3000],ebx
65
        mov   [0x3000],ebx
Line 67... Line -...
67
        mov   [0x3010],edi
-
 
68
 
66
        mov   [0x3010],edi
69
        jmp   @f
-
 
70
     .do_not_change_task:
-
 
Line 71... Line 67...
71
        inc   esi          ;set don't change task flag
67
 
72
       @@:
68
     .do_not_change_task:
Line 73... Line -...
73
 
-
 
74
        call  _rdtsc
-
 
75
        mov   [edi+0x18],eax
-
 
76
 
-
 
77
        cmp   [0xffff],byte 0
-
 
78
        je    @f
-
 
79
        dec   byte [0xffff]
69
 
80
       @@:
70
        call  _rdtsc
81
 
71
        mov   [edi+0x18],eax
82
 
72
 
83
        shl   ebx, 3
73
        shl   ebx, 3
Line 84... Line 74...
84
        xor   eax, eax
74
        xor   eax, eax
85
        add   ebx, tss0
75
        add   ebx, tss0
86
        mov   word  [0xB004], bx   ; selector
76
        mov   word  [0xB004], bx   ; selector
Line 87... Line 77...
87
        mov   dword [0xB000], eax  ; offset
77
        mov   dword [0xB000], eax  ; offset
-
 
78
 
-
 
79
        mov   al,0x20   ; send End Of Interrupt signal
88
 
80
        mov   dx,0x20
89
        mov   al,0x20   ; send End Of Interrupt signal
-
 
90
        mov   dx,0x20
81
        out   dx,al
91
        out   dx,al
-
 
92
 
82
 
93
        test  esi,esi   ; skip jmp to TSS if we aren't going to switch tasks
-
 
-
 
83
        cmp   [0xffff],byte 0
94
        jnz    @f
84
        je    .switch
-
 
85
        dec   byte [0xffff]
95
        
86
        jmp   @f
96
.switch:
87
     .switch:
97
        inc   [context_counter] ;noname & halyavin
88
        jmp   pword [0xB000]