Subversion Repositories Kolibri OS

Rev

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

Rev 8867 Rev 8869
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;;
4
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa      ;;
4
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa      ;;
5
;; Distributed under terms of the GNU General Public License    ;;
5
;; Distributed under terms of the GNU General Public License    ;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 7... Line 7...
7
 
7
 
Line 8... Line 8...
8
$Revision: 8867 $
8
$Revision: 8869 $
9
 
9
 
10
WINDOW_MOVE_AND_RESIZE_FLAGS = \
10
WINDOW_MOVE_AND_RESIZE_FLAGS = \
11
  mouse.WINDOW_RESIZE_N_FLAG + \
11
  mouse.WINDOW_RESIZE_N_FLAG + \
Line 387... Line 387...
387
align 4
387
align 4
388
get_event_queue:
388
get_event_queue:
389
;info:
389
;info:
390
;   client testing function for get_event_ex
390
;   client testing function for get_event_ex
391
;warning:
391
;warning:
392
;  -don't use [TASK_BASE],[current_slot],[CURRENT_TASK] - it is not for your slot
392
;  -don't use [TASK_BASE],[current_slot],[current_slot_idx] - it is not for your slot
393
;  -may be assumed, that interrupt are disabled
393
;  -may be assumed, that interrupt are disabled
394
;  -it is not restriction for scratched registers
394
;  -it is not restriction for scratched registers
395
;param:
395
;param:
396
;   ebx - APPDATA address of testing slot
396
;   ebx - APPDATA address of testing slot
397
;retval:
397
;retval:
Line 408... Line 408...
408
align 4
408
align 4
409
get_event_alone:
409
get_event_alone:
410
;info:
410
;info:
411
;   client testing function for wait_event
411
;   client testing function for wait_event
412
;warning:
412
;warning:
413
;  -don't use [TASK_BASE],[current_slot],[CURRENT_TASK] - it is not for your slot
413
;  -don't use [TASK_BASE],[current_slot],[current_slot_idx] - it is not for your slot
414
;  -may be assumed, that interrupt are disabled
414
;  -may be assumed, that interrupt are disabled
415
;  -it is not restriction for scratched registers
415
;  -it is not restriction for scratched registers
416
;param:
416
;param:
417
;   ebx - APPDATA address of testing slot
417
;   ebx - APPDATA address of testing slot
418
;retval:
418
;retval:
Line 500... Line 500...
500
align 4
500
align 4
501
get_event_for_app:                                 ;; used from f10,f11,f23
501
get_event_for_app:                                 ;; used from f10,f11,f23
502
;info:
502
;info:
503
;   client testing function for applications (f10,f23)
503
;   client testing function for applications (f10,f23)
504
;warning:
504
;warning:
505
;  -don't use [TASK_BASE],[current_slot],[CURRENT_TASK] - it is not for your slot
505
;  -don't use [TASK_BASE],[current_slot],[current_slot_idx] - it is not for your slot
506
;  -may be assumed, that interrupt are disabled
506
;  -may be assumed, that interrupt are disabled
507
;  -it is not restriction for scratched registers
507
;  -it is not restriction for scratched registers
508
;param:
508
;param:
509
;   ebx - APPDATA address of testing slot
509
;   ebx - APPDATA address of testing slot
510
;retval:
510
;retval:
511
;   eax - event number (=0 => no events)
511
;   eax - event number (=0 => no events)
512
        movzx   edi, bh               ; bh  is assumed as [CURRENT_TASK]
512
        movzx   edi, bh               ; bh  is assumed as [current_slot_idx]
513
        shl     edi, 5
513
        shl     edi, 5
514
        add     edi, CURRENT_TASK     ; edi is assumed as [TASK_BASE]
514
        add     edi, TASK_TABLE     ; edi is assumed as [TASK_BASE]
515
        mov     ecx, [edi+TASKDATA.event_mask]
515
        mov     ecx, [edi+TASKDATA.event_mask]
516
        and     ecx, 0x7FFFFFFF
516
        and     ecx, 0x7FFFFFFF
517
;--------------------------------------
517
;--------------------------------------
518
align 4
518
align 4
519
.loop: ; until we run out all the bits of the mask
519
.loop: ; until we run out all the bits of the mask