Rev 2118 | Rev 2146 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2118 | Rev 2129 | ||
---|---|---|---|
Line 70... | Line 70... | ||
70 | proc attach_int_handler stdcall, irq:dword, handler:dword, user_data:dword |
70 | proc attach_int_handler stdcall, irq:dword, handler:dword, user_data:dword |
71 | locals |
71 | locals |
72 | .irqh dd ? |
72 | .irqh dd ? |
73 | endl |
73 | endl |
Line 74... | Line -... | ||
74 | - | ||
75 | xchg bx, bx |
- | |
76 | 74 | ||
Line 77... | Line 75... | ||
77 | and [.irqh], 0 |
75 | and [.irqh], 0 |
Line 78... | Line 76... | ||
78 | 76 | ||
Line 98... | Line 96... | ||
98 | test ecx, ecx |
96 | test ecx, ecx |
99 | jz .fail |
97 | jz .fail |
Line 100... | Line 98... | ||
100 | 98 | ||
101 | mov eax, [ecx] |
99 | mov eax, [ecx] |
102 | mov [next_irqh], eax |
- | |
103 | 100 | mov [next_irqh], eax |
|
Line -... | Line 101... | ||
- | 101 | mov [.irqh], ecx |
|
- | 102 | ||
104 | mov [.irqh], ecx |
103 | mov [irq_failed+ebx*4], 0 ;clear counter |
105 | 104 | ||
106 | mov eax, [user_data] |
105 | mov eax, [user_data] |
Line 107... | Line 106... | ||
107 | mov [ecx+IRQH.handler], edx |
106 | mov [ecx+IRQH.handler], edx |
108 | mov [ecx+IRQH.data], eax |
107 | mov [ecx+IRQH.data], eax |
109 | - | ||
110 | lea edx, [irqh_tab+ebx*8] |
108 | |
Line 111... | Line 109... | ||
111 | list_add_tail ecx, edx ;clobber eax |
109 | lea edx, [irqh_tab+ebx*8] |
112 | 110 | list_add_tail ecx, edx ;clobber eax |
|
113 | stdcall enable_irq, [irq] |
111 | stdcall enable_irq, ebx |
114 | 112 |