Subversion Repositories Kolibri OS

Rev

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

Rev 4 Rev 6
Line 3... Line 3...
3
 
3
 
4
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
4
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
5
;; IRQ0 HANDLER (TIMER INTERRUPT) ;;
5
;; IRQ0 HANDLER (TIMER INTERRUPT) ;;
Line -... Line 6...
-
 
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
 
7
 
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
8
 
7
 
9
 
8
align 32
-
 
9
irq0:
10
align 32
10
 
11
irq0:
Line 11... Line -...
11
        cmp   [error_interrupt],-1
-
 
12
        je    no_error_in_previous_process
-
 
13
 
-
 
14
        mov   edi,[error_interrupt]
-
 
15
        shl   edi, 3
-
 
16
        mov   [edi+tss0i_l +5], word 01010000b *256 +11101001b
-
 
17
 
-
 
18
        mov   edi,[error_interrupt]
-
 
19
        shl   edi,7
-
 
20
        add   edi,0x290000
-
 
21
        mov   esi,[error_interrupt_entry]
-
 
22
        mov   [edi+l.eip-tss_sceleton],esi
12
        cmp   [error_interrupt],-1
Line 23... Line 13...
23
        mov   [edi+l.eflags-tss_sceleton],dword 0x11002
13
        je    no_error_in_previous_process
Line 24... Line 14...
24
 
14
 
Line 83... Line 73...
83
        mov   [0x3000],ebx
73
        mov   [0x3000],ebx
84
        mov   [0x3010],edi
74
        mov   [0x3010],edi
Line 85... Line 75...
85
 
75
 
Line 86... Line -...
86
      do_not_change_task:
-
 
87
 
-
 
88
        ;mov   edx,[0x3000]
-
 
89
        ;lea   edx,[tss0sys+8*edx]
-
 
90
        ;mov   [8*0x40+idts+8+0], word 0
-
 
91
        ;mov   [8*0x40+idts+8+2],dx
-
 
92
        ;mov   [8*0x40+idts+8+4],word 11100101b*256
-
 
93
        ;mov   [8*0x40+idts+8+6], word 0
76
      do_not_change_task:
94
 
77
 
Line 95... Line 78...
95
        call  _rdtsc
78
        call  _rdtsc
96
        mov   [edi+0x18],eax
79
        mov   [edi+0x18],eax
Line 111... Line 94...
111
        mov   dx,0x20
94
        mov   dx,0x20
112
        out   dx,al
95
        out   dx,al
113
.switch:
96
.switch:
114
        jmp   pword [0xB000]
97
        jmp   pword [0xB000]
115
        inc [context_counter] ;noname & halyavin
98
        inc [context_counter] ;noname & halyavin
-
 
99
        
116
        jmp   irq0
100
        jmp   irq0
Line 117... Line 101...
117
 
101
 
118
iglobal
102
iglobal
119
context_counter dd 0 ;noname & halyavin
103
context_counter dd 0 ;noname & halyavin