Subversion Repositories Kolibri OS

Rev

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