Subversion Repositories Kolibri OS

Rev

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

Rev 26 Rev 40
Line 2... Line 2...
2
;; IRQ0 HANDLER (TIMER INTERRUPT) ;;
2
;; IRQ0 HANDLER (TIMER INTERRUPT) ;;
3
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 4... Line 4...
4
 
4
 
5
align 32
5
align 32
6
irq0:
-
 
7
	pushad
6
irq0:
8
	push  ds es
7
        save_ring3_context
9
	mov   ax, os_data
8
	mov   ax, os_data
10
	mov   ds, ax
9
	mov   ds, ax
Line 11... Line 10...
11
	mov   es, ax
10
	mov   es, ax
Line 43... Line 42...
43
 
42
 
44
 
43
 
45
      .waiting_for_termination:
44
      .waiting_for_termination:
-
 
45
      .waiting_for_reuse:
46
      .waiting_for_reuse:
46
      .waiting_for_event:
47
      .waiting_for_event:
47
      .suspended:
48
        cmp   ebx, [0x3004]
48
        cmp   ebx, [0x3004]
49
        jb    @f
49
        jb    @f
50
        mov   edi, 0x3000
50
        mov   edi, 0x3000
Line 51... Line 51...
51
        xor   ebx, ebx
51
        xor   ebx, ebx
52
      @@:
52
      @@:
Line 53... Line 53...
53
 
53
 
-
 
54
        add   edi,0x20
-
 
55
        inc   ebx
-
 
56
 
-
 
57
        mov   al, byte [edi+0xA]
54
        add   edi,0x20
58
	cmp   al, 1
55
        inc   ebx
59
	jz    .suspended
56
 
60
	cmp   al, 2
57
        mov   al, byte [edi+0xA]
61
	jz    .suspended
58
        cmp   al, 3
62
        cmp   al, 3
Line 99... Line 103...
99
     .switch:
103
     .switch:
100
        jmp   pword [far_jump]
104
        jmp   pword [far_jump]
101
        inc   [context_counter] ;noname & halyavin
105
        inc   [context_counter] ;noname & halyavin
102
       @@:
106
       @@:
Line 103... Line 107...
103
        
107
        
104
        pop   es ds
-
 
105
        popad
108
        restore_ring3_context
Line 106... Line 109...
106
        iret
109
        iret
107
 
110