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] |