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 |