WIP to find crashing problem generating eturtle.exe
[hf86v099.git] / muldemo.f
1 \\r
2 \ Multitasker Demo Program\r
3 \\r
4 \ This demo is very crude, however, it shows hForth's multitasking ability.\r
5 \\r
6 \ Reserve enough space for data and return stack for each task.\r
7 \ Data stack and return stack seems to be at lease 50 CELLS deep for MS-DOS.\r
8 \\r
9 \ 1995. 5. 1.\r
10 \ By Wonyong Koh\r
11 \r
12 BASE @ DECIMAL\r
13 \r
14 0 50 CELLS 50 CELLS HAT TASK0\r
15 0 50 CELLS 50 CELLS HAT TASK1\r
16 0 50 CELLS 50 CELLS HAT TASK2\r
17 0 50 CELLS 50 CELLS HAT TASK3\r
18 TASK0 BUILD\r
19 TASK1 BUILD\r
20 TASK2 BUILD\r
21 TASK3 BUILD\r
22 :NONAME TASK0 ACTIVATE BEGIN 1000 0 DO PAUSE LOOP [CHAR] 0 EMIT AGAIN ; EXECUTE\r
23 :NONAME TASK1 ACTIVATE BEGIN 2000 0 DO PAUSE LOOP [CHAR] 1 EMIT AGAIN ; EXECUTE\r
24 :NONAME TASK2 ACTIVATE BEGIN 4000 0 DO PAUSE LOOP [CHAR] 2 EMIT AGAIN ; EXECUTE\r
25 :NONAME TASK3 ACTIVATE BEGIN 8000 0 DO PAUSE LOOP [CHAR] 3 EMIT AGAIN ; EXECUTE\r
26 TASK0 SLEEP\r
27 TASK1 SLEEP\r
28 TASK2 SLEEP\r
29 TASK3 SLEEP\r
30 \r
31 BASE !\r
32 CR .( Try 'TASK1 AWAKE  TASK2 AWAKE' and wait for a while.)\r
33 CR .( Try 'TASK2 SLEEP' and wait for a while and try 'TASK1 SLEEP'.)\r
34 CR .( You will get the idea.)\r
35 \r
36 CHAR " PARSE FILE" ENVIRONMENT?\r
37 [IF]\r
38   0= [IF] << CON [THEN]\r
39 [ELSE] << CON\r
40 [THEN]\r