Rev 11 | Rev 21 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 11 | Rev 14 | ||
---|---|---|---|
Line 1... | Line -... | ||
1 | label next_usage_update dword at 0xB008 |
- | |
2 | label timer_ticks dword at 0xFDF0 |
- | |
3 | - | ||
4 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
5 | ;; IRQ0 HANDLER (TIMER INTERRUPT) ;; |
2 | ;; IRQ0 HANDLER (TIMER INTERRUPT) ;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
3 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 7... | Line 4... | ||
7 | 4 | ||
Line 71... | Line 68... | ||
71 | mov [edi+0x18],eax |
68 | mov [edi+0x18],eax |
Line 72... | Line 69... | ||
72 | 69 | ||
73 | shl ebx, 3 |
70 | shl ebx, 3 |
74 | xor eax, eax |
71 | xor eax, eax |
75 | add ebx, tss0 |
72 | add ebx, tss0 |
76 | mov word [0xB004], bx ; selector |
73 | mov word [far_jump.sel], bx ; selector |
Line 77... | Line 74... | ||
77 | mov dword [0xB000], eax ; offset |
74 | mov dword [far_jump.offs], eax ; offset |
78 | 75 | ||
79 | mov al,0x20 ; send End Of Interrupt signal |
76 | mov al,0x20 ; send End Of Interrupt signal |
Line 80... | Line 77... | ||
80 | mov dx,0x20 |
77 | mov dx,0x20 |
81 | out dx,al |
78 | out dx,al |
82 | 79 | ||
83 | cmp [0xffff],byte 0 |
80 | cmp [0xffff],byte 0 |
84 | je .switch |
81 | je .switch |
85 | dec byte [0xffff] |
82 | dec byte [0xffff] |
86 | jz @f |
83 | jz @f |
87 | .switch: |
84 | .switch: |
Line 88... | Line 85... | ||
88 | jmp pword [0xB000] |
85 | jmp pword [far_jump] |
89 | inc [context_counter] ;noname & halyavin |
86 | inc [context_counter] ;noname & halyavin |
90 | @@: |
87 | @@: |
Line 91... | Line -... | ||
91 | - | ||
92 | pop es ds |
88 | |
- | 89 | pop es ds |
|
- | 90 | popad |
|
- | 91 | iret |
|
93 | popad |
92 | |
- | 93 | ||
- | 94 | uglobal |
|
94 | iret |
95 | far_jump: |
Line 95... | Line 96... | ||
95 | 96 | .offs dd ? |
|
96 | 97 | .sel dw ? |