version 1.1, 1996/03/31 20:16:04
|
version 1.3, 1996/05/13 16:37:03
|
Line 24 Create sleepers sleepers A, sleepers A,
|
Line 24 Create sleepers sleepers A, sleepers A,
|
|
|
\ USER' computes the task offset |
\ USER' computes the task offset |
: user' ( 'user' -- n ) |
: user' ( 'user' -- n ) |
' >body @ state @ IF postpone Literal THEN ; immediate |
' >body @ postpone literal ; immediate |
|
interpretation: |
|
' >body @ ; |
|
|
\ NEWTASK creates a new, sleeping task |
\ NEWTASK creates a new, sleeping task |
: NewTask ( n -- Task ) dup 2* 2* udp @ + dup |
: NewTask ( n -- Task ) dup 2* 2* udp @ + dup |
Line 55 Create sleepers sleepers A, sleepers A,
|
Line 57 Create sleepers sleepers A, sleepers A,
|
: activate ( task -- ) 0 swap (pass) ; |
: activate ( task -- ) 0 swap (pass) ; |
: pass ( x1 .. xn n task -- ) (pass) ; |
: pass ( x1 .. xn n task -- ) (pass) ; |
|
|
: task-key BEGIN pause key? UNTIL (key) ; |
: single-tasking? ( -- flag ) |
|
next-task dup @ = ; |
|
|
|
: task-key BEGIN pause key? single-tasking? or UNTIL (key) ; |
: task-emit (emit) pause ; |
: task-emit (emit) pause ; |
: task-type (type) pause ; |
: task-type (type) pause ; |
|
|