Rev 455 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 455 | Rev 459 | ||
---|---|---|---|
Line 599... | Line 599... | ||
599 | no_eventoccur5: |
599 | no_eventoccur5: |
Line 600... | Line 600... | ||
600 | 600 | ||
601 | ;mov edi,[TASK_BASE] ; IPC |
601 | ;mov edi,[TASK_BASE] ; IPC |
602 | test [edi+TASKDATA.event_mask],dword 01000000b |
602 | test [edi+TASKDATA.event_mask],dword 01000000b |
603 | jz no_ipc |
603 | jz no_ipc |
- | 604 | mov eax, [CURRENT_TASK] |
|
604 | mov eax,[current_slot] |
605 | shl eax, 8 |
605 | test [eax+APPDATA.event_mask],dword 01000000b |
606 | test [eax+SLOT_BASE+APPDATA.event_mask],dword 01000000b |
606 | jz no_ipc |
607 | jz no_ipc |
607 | and [eax+APPDATA.event_mask],dword 0xffffffff-01000000b |
608 | and [eax+SLOT_BASE+APPDATA.event_mask],dword 0xffffffff-01000000b |
608 | popad |
609 | popad |
609 | mov eax,7 |
610 | mov eax,7 |
610 | ret |
611 | ret |
Line 611... | Line -... | ||
611 | no_ipc: |
- | |
612 | 612 | no_ipc: |
|
613 | 613 | ||
614 | ;mov edi,[TASK_BASE] ; STACK |
614 | ;mov edi,[TASK_BASE] ; STACK |
615 | test [edi+TASKDATA.event_mask],dword 10000000b |
615 | test [edi+TASKDATA.event_mask],dword 10000000b |
- | 616 | jz no_stack_event |
|
616 | jz no_stack_event |
617 | mov eax, [CURRENT_TASK] |
617 | mov eax,[current_slot] |
618 | shl eax, 8 |
618 | test [eax+APPDATA.event_mask],dword 10000000b |
619 | test [eax+SLOT_BASE+APPDATA.event_mask],dword 10000000b |
619 | jz no_stack_event |
620 | jz no_stack_event |
620 | and [eax+APPDATA.event_mask],dword 0xffffffff-10000000b |
621 | and [eax+SLOT_BASE+APPDATA.event_mask],dword 0xffffffff-10000000b |
621 | popad |
622 | popad |
622 | mov eax,8 |
623 | mov eax,8 |
Line 623... | Line 624... | ||
623 | ret |
624 | ret |
624 | no_stack_event: |
625 | no_stack_event: |
625 | 626 | ||
- | 627 | test byte [edi+TASKDATA.event_mask+1], 1 ; DEBUG |
|
626 | test byte [edi+TASKDATA.event_mask+1], 1 ; DEBUG |
628 | jz .test_IRQ |
627 | jz .test_IRQ |
629 | mov eax, [CURRENT_TASK] |
628 | mov eax, [current_slot] |
630 | shl eax, 8 |
629 | test byte [eax+APPDATA.event_mask+1], byte 1 |
631 | test byte [eax+SLOT_BASE+APPDATA.event_mask+1], byte 1 |
630 | jz .test_IRQ |
632 | jz .test_IRQ |
631 | and byte [eax+APPDATA.event_mask+1], not 1 |
633 | and byte [eax+SLOT_BASE+APPDATA.event_mask+1], not 1 |
Line 632... | Line 634... | ||
632 | popad |
634 | popad |