update tests for 1.0 overhaul
authoradam <adam@megacz.com>
Wed, 25 Jun 2008 10:18:42 +0000 (11:18 +0100)
committeradam <adam@megacz.com>
Wed, 25 Jun 2008 10:18:42 +0000 (11:18 +0100)
34 files changed:
tests/flags/basic.test
tests/flags/flags-ab-1.test [new file with mode: 0644]
tests/flags/flags-ab-2.test [new file with mode: 0644]
tests/flags/flags-ab-3.test [new file with mode: 0644]
tests/flags/flags-ab-4.test [new file with mode: 0644]
tests/flags/flags-ab-5.test [new file with mode: 0644]
tests/flags/flags-ab-not-1.test [new file with mode: 0644]
tests/flags/flags-ab-not-2.test [new file with mode: 0644]
tests/flags/flags-ab-not-3.test [new file with mode: 0644]
tests/flags/flags-ab-not-4.test [new file with mode: 0644]
tests/flags/flags-ab-not-5.test [new file with mode: 0644]
tests/flags/flags-ab.test [deleted file]
tests/flags/flags-c.test [new file with mode: 0644]
tests/flags/flags-reset.test [new file with mode: 0644]
tests/flags/flags-z.test [deleted file]
tests/memory/memory-test.fleet
tests/multiply.test- [moved from tests/multiply.test with 100% similarity]
tests/ndp/p-plus.fleet- [new file with mode: 0644]
tests/pump/kill-only-standing-instructions.fleet
tests/pump/send-without-destination.fleet- [moved from tests/pump/send-without-destination.fleet with 99% similarity]
tests/pump/test-massacre.fleet [deleted file]
tests/pump/test-read-loop-counter.fleet [deleted file]
tests/pump/test-repeat-counter-from-data-latch.fleet [moved from tests/pump/test-read-loop-counter-from-data-latch.fleet with 60% similarity]
tests/pump/test-repeat-zero.fleet [moved from tests/pump/test-read-loop-counter-literal.fleet with 55% similarity]
tests/pump/test-use-loop-counter-dl-on-non-nop.fleet [new file with mode: 0644]
tests/pump/test-use-loop-counter.fleet
tests/requeue/requeue-expire.fleet [deleted file]
tests/requeue/requeueing-literal.fleet
tests/requeue/test-kill-requeueing.fleet [deleted file]
tests/requeue/test-requeue.fleet
tests/torpedo/basic-torpedo.test [new file with mode: 0644]
tests/torpedo/epilogue-fifo.test [new file with mode: 0644]
tests/torpedo/epilogue-fifo2.test [new file with mode: 0644]
tests/torpedo/test-tapl.fleet [new file with mode: 0644]

index 8c2b5d9..ac3542f 100644 (file)
@@ -1,4 +1,3 @@
-#skip
 // expected output
 #expect 0
 
diff --git a/tests/flags/flags-ab-1.test b/tests/flags/flags-ab-1.test
new file mode 100644 (file)
index 0000000..30a7c62
--- /dev/null
@@ -0,0 +1,11 @@
+// expected output
+#expect 1
+
+// ships required in order to run this code
+#ship debug        : Debug
+
+debug.in:
+  setflags a=1, b=0;
+  [a] literal 1;
+  [b] literal 2;
+  deliver;
diff --git a/tests/flags/flags-ab-2.test b/tests/flags/flags-ab-2.test
new file mode 100644 (file)
index 0000000..f94b5a4
--- /dev/null
@@ -0,0 +1,11 @@
+// expected output
+#expect 4
+
+// ships required in order to run this code
+#ship debug        : Debug
+
+debug.in:
+  setflags a=0, b=1;
+  [a] literal 3;
+  [b] literal 4;
+  deliver;
diff --git a/tests/flags/flags-ab-3.test b/tests/flags/flags-ab-3.test
new file mode 100644 (file)
index 0000000..97f0951
--- /dev/null
@@ -0,0 +1,11 @@
+// expected output
+#expect 6
+
+// ships required in order to run this code
+#ship debug        : Debug
+
+debug.in:
+  setflags a=1, b=1;
+  [a] literal 5;
+  [b] literal 6;
+  deliver;
diff --git a/tests/flags/flags-ab-4.test b/tests/flags/flags-ab-4.test
new file mode 100644 (file)
index 0000000..538a372
--- /dev/null
@@ -0,0 +1,11 @@
+// expected output
+#expect 8
+
+// ships required in order to run this code
+#ship debug        : Debug
+
+debug.in:
+  setflags a=1, b=1;
+  [b] literal 7;
+  [a] literal 8;
+  deliver;
diff --git a/tests/flags/flags-ab-5.test b/tests/flags/flags-ab-5.test
new file mode 100644 (file)
index 0000000..f9b0e0e
--- /dev/null
@@ -0,0 +1,12 @@
+// expected output
+#expect 9
+
+// ships required in order to run this code
+#ship debug        : Debug
+
+debug.in:
+  setflags a=0, b=0;
+  literal 9;
+  [b] literal 10;
+  [a] literal 11;
+  deliver;
diff --git a/tests/flags/flags-ab-not-1.test b/tests/flags/flags-ab-not-1.test
new file mode 100644 (file)
index 0000000..9dd4eac
--- /dev/null
@@ -0,0 +1,11 @@
+// expected output
+#expect 2
+
+// ships required in order to run this code
+#ship debug        : Debug
+
+debug.in:
+  setflags a=1, b=0;
+  [!a] literal 1;
+  [!b] literal 2;
+  deliver;
diff --git a/tests/flags/flags-ab-not-2.test b/tests/flags/flags-ab-not-2.test
new file mode 100644 (file)
index 0000000..99fc68d
--- /dev/null
@@ -0,0 +1,11 @@
+// expected output
+#expect 3
+
+// ships required in order to run this code
+#ship debug        : Debug
+
+debug.in:
+  setflags a=0, b=1;
+  [!a] literal 3;
+  [!b] literal 4;
+  deliver;
diff --git a/tests/flags/flags-ab-not-3.test b/tests/flags/flags-ab-not-3.test
new file mode 100644 (file)
index 0000000..3c46ce1
--- /dev/null
@@ -0,0 +1,12 @@
+// expected output
+#expect 4
+
+// ships required in order to run this code
+#ship debug        : Debug
+
+debug.in:
+  setflags a=1, b=1;
+  literal 4;
+  [!a] literal 5;
+  [!b] literal 6;
+  deliver;
diff --git a/tests/flags/flags-ab-not-4.test b/tests/flags/flags-ab-not-4.test
new file mode 100644 (file)
index 0000000..45d40f5
--- /dev/null
@@ -0,0 +1,12 @@
+// expected output
+#expect 6
+
+// ships required in order to run this code
+#ship debug        : Debug
+
+debug.in:
+  setflags a=1, b=1;
+  literal 6;
+  [!b] literal 7;
+  [!a] literal 8;
+  deliver;
diff --git a/tests/flags/flags-ab-not-5.test b/tests/flags/flags-ab-not-5.test
new file mode 100644 (file)
index 0000000..020941d
--- /dev/null
@@ -0,0 +1,12 @@
+// expected output
+#expect 11
+
+// ships required in order to run this code
+#ship debug        : Debug
+
+debug.in:
+  setflags a=0, b=0;
+  literal 9;
+  [!b] literal 10;
+  [!a] literal 11;
+  deliver;
diff --git a/tests/flags/flags-ab.test b/tests/flags/flags-ab.test
deleted file mode 100644 (file)
index f3f468a..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#skip
-// expected output
-#expect 1
-#expect 4
-#expect 6
-#expect 8
-#expect 9
-
-// ships required in order to run this code
-#ship debug        : Debug
-
-debug.in:
-  setflags a=1, b=0;
-  [a] literal 1;
-  [b] literal 2;
-  deliver;
-  setflags a=0, b=1;
-  [a] literal 3;
-  [b] literal 4;
-  deliver;
-  setflags a=1, b=1;
-  [a] literal 5;
-  [b] literal 6;
-  deliver;
-  setflags a=1, b=1;
-  [b] literal 7;
-  [a] literal 8;
-  deliver;
-  setflags a=0, b=0;
-  literal 9;
-  [b] literal 10;
-  [a] literal 11;
-  deliver;
-
diff --git a/tests/flags/flags-c.test b/tests/flags/flags-c.test
new file mode 100644 (file)
index 0000000..aed8686
--- /dev/null
@@ -0,0 +1,22 @@
+// expected output
+#expect 1
+#expect 0
+
+#ship debug        : Debug
+#ship fifo         : Fifo
+
+debug.in:
+  recv;
+  setflags a=c, b=b;
+  [a]  literal 1;
+  [!a] literal 0;
+  wait, deliver;
+  setflags a=c, b=b;
+  [a]  literal 1;
+  [!a] literal 0;
+  deliver;
+
+fifo.out:
+  notify debug.in:1;
+  notify debug.in:0;
+
diff --git a/tests/flags/flags-reset.test b/tests/flags/flags-reset.test
new file mode 100644 (file)
index 0000000..db20a3d
--- /dev/null
@@ -0,0 +1,19 @@
+// expected output
+#expect 1
+#expect 20
+
+#ship debug        : Debug
+#ship fifo         : Fifo
+
+debug.in:
+  setflags a=1, b=b;
+  [a]  literal 1;
+  [!a] literal 0;
+  deliver;
+  literal 0;
+  literal 1;
+  setflags a=0, b=b;
+  nop;
+  [!a] literal 20;
+  deliver;
+
diff --git a/tests/flags/flags-z.test b/tests/flags/flags-z.test
deleted file mode 100644 (file)
index c59853c..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#skip
-// expected output
-#expect 2
-#expect 2
-#expect 4
-
-// ships required in order to run this code
-#ship debug        : Debug
-
-debug.in:
-  literal 1;
-  [z] literal 2;
-  deliver;
-  clog;
-  load loop counter with 2;
-  [z] literal 3;
-  deliver;
-  load loop counter with 0;
-  [z] literal 4;
-  deliver;
-  unclog;
index 84edfa7..9e12103 100644 (file)
@@ -1,3 +1,4 @@
+#skip
 // output ///////////////////////////////////////////////////////////////////
 #expect 14
 #expect 13
similarity index 100%
rename from tests/multiply.test
rename to tests/multiply.test-
diff --git a/tests/ndp/p-plus.fleet- b/tests/ndp/p-plus.fleet-
new file mode 100644 (file)
index 0000000..39f0c1f
--- /dev/null
@@ -0,0 +1,84 @@
+
+#expect 0
+
+#ship mem1  : Memory
+#ship mem2  : Memory
+#ship mem3  : Memory
+#ship alu   : Alu2
+#ship counter1   : Alu2
+#ship counter2   : Alu2
+#ship debug : Debug
+
+debug.in:   [*] recv, deliver;
+mem1.inCBD:
+  literal SETUP; deliver;
+  recv;
+  recv;
+  literal GO; deliver;
+
+SETUP: {
+mem1.inAddrWrite: literal 1000; [11] deliver;
+mem1.inDataWrite:
+  literal 10; deliver;
+  literal 1;  deliver;
+  literal 2;  deliver;
+  literal 3;  deliver;
+  literal 4;  deliver;
+  literal 5;  deliver;
+  literal 6;  deliver;
+  literal 7;  deliver;
+  literal 8;  deliver;
+  literal 9;  deliver;
+mem1.out:
+  [11] collect;
+  notify mem1.inCBD;
+mem2.inAddrWrite: literal 1000; [11] deliver;
+mem2.inDataWrite:
+  literal 10; deliver;
+  literal 1;  deliver;
+  literal 2;  deliver;
+  literal 3;  deliver;
+  literal 4;  deliver;
+  literal 5;  deliver;
+  literal 6;  deliver;
+  literal 7;  deliver;
+  literal 8;  deliver;
+  literal 9;  deliver;
+mem2.out:
+  [11] collect;
+  notify mem1.inCBD;
+}
+
+GO: {
+
+mem1.inAddrRead:  literal 1000; deliver;
+mem2.inAddrRead:  literal 1000; deliver;
+
+// normally we would write to memory, but here we send to debug
+//mem3.inAddrWrite: literal 0; deliver;
+//mem3.out:         [*] collect, sendto debug.in;
+
+alu.in1:  [*] recv, deliver;
+alu.in2:  [*] recv, deliver;
+alu.inOp: literal Alu2.inOp[MAX]; deliver; literal Alu2.inOp[ADD]; [*] deliver;
+//alu.out:  [*] collect, sendto debug.in;
+
+mem1.out:
+  collect;
+  sendto counter1.in1;
+  sendto alu.in1;
+  load repeat counter;
+  collect, sendto alu.in1;
+mem2.out:
+  collect;
+  sendto counter2.in1;
+  sendto alu.in2;
+  load repeat counter;
+  collect, sendto alu.in2;
+
+counter1.in1:  literal 10; load repeat counter; literal 1; deliver;
+counter1.in2:  literal 0; deliver; [*] recv, deliver;
+counter1.inOp: literal Alu2.inOp[ADD]; [*] deliver;
+counter1.out:  load loop counter with 1; collect; sendto debug.in; unclog;
+
+}
index e10f567..9073bb6 100644 (file)
@@ -1,3 +1,4 @@
+#skip
 #expect 1
 #expect 2
 
@@ -19,11 +20,10 @@ fifo2.in:
 fifo2.out: wait, take, sendto fifo.in;
 
 fifo.out:
-  clog;
-  notify fifo2.out;
-  take, sendto debug.in;
-  take, sendto debug.in;
-  unclog;
-  unclog;
+  [L] notify fifo2.out;
+  [L] take, sendto debug.in;
+  [L] take, sendto debug.in;
+  tail;
+  tail;
 
 
similarity index 99%
rename from tests/pump/send-without-destination.fleet
rename to tests/pump/send-without-destination.fleet-
index b265025..43fb949 100644 (file)
@@ -1,3 +1,4 @@
+#skip
 // output ///////////////////////////////////////////////////////////////////
 #expect 5263
 
diff --git a/tests/pump/test-massacre.fleet b/tests/pump/test-massacre.fleet
deleted file mode 100644 (file)
index fa85061..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#expect 7
-#expect 7
-#expect 7
-#expect 7
-#expect 9
-
-#ship debug        : Debug
-#ship memory       : Memory
-#ship fifo         : Fifo
-
-debug.in:
-  load repeat counter with 3;
-  take, deliver, notify fifo.in;
-  [*] take, deliver;
-
-fifo.out:
-  load repeat counter with 4;
-  take, sendto debug.in;
-  notify memory.inCBD;
-  take, sendto debug.in;
-
-fifo.in:
-  literal 7;
-  deliver;
-  load repeat counter with *;
-  discard, deliver;
-
-memory.inCBD:
-  take;
-  literal {
-    fifo.in:
-      massacre;
-nop;
-      literal 9;
-      deliver;
-  }; deliver;
-
-
-
diff --git a/tests/pump/test-read-loop-counter.fleet b/tests/pump/test-read-loop-counter.fleet
deleted file mode 100644 (file)
index 67ffdac..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#expect 7
-
-#ship debug        : Debug
-#ship memory       : Memory
-#ship fifo         : Fifo
-
-debug.in: [*] take, deliver;
-
-fifo.out:
-  literal 7;
-  sendto fifo.in;
-  load repeat counter with 2;
-  take, sendto debug.in;
-
-fifo.in:
-  clog;
-  take;
-  load loop counter;
-  literal 0;
-  take loop counter;
-  deliver;
-  unclog;
@@ -1,9 +1,9 @@
-#expect 5
 #expect 0
-#expect 5
 #expect 0
-#expect 5
-
+#expect 0
+#expect 0
+#expect 0
+#expect 1
 
 #ship debug        : Debug
 #ship memory       : Memory
@@ -17,13 +17,8 @@ fifo.in:
 
 fifo.out:
   take;
-  sendto debug.in;
-  clog;
-  load loop counter;
+  load repeat counter;
   literal 0;
   sendto debug.in;
-  take loop counter;
-  literal 5;
+  literal 1;
   sendto debug.in;
-  load loop counter with 0;
-  unclog;
similarity index 55%
rename from tests/pump/test-read-loop-counter-literal.fleet
rename to tests/pump/test-repeat-zero.fleet
index d3ffa3f..150d3c8 100644 (file)
@@ -1,4 +1,4 @@
-#expect 7
+#expect 1
 
 #ship debug        : Debug
 #ship memory       : Memory
@@ -7,12 +7,11 @@
 debug.in: [*] take, deliver;
 
 fifo.out:
-  take, sendto debug.in;
+  [*] take, sendto debug.in;
 
 fifo.in:
-  clog;
-  load loop counter with 7;
-  literal 3;
-  take loop counter;
+  load repeat counter with 0;
+  literal 0;
+  deliver;
+  literal 1;
   deliver;
-  unclog;
diff --git a/tests/pump/test-use-loop-counter-dl-on-non-nop.fleet b/tests/pump/test-use-loop-counter-dl-on-non-nop.fleet
new file mode 100644 (file)
index 0000000..1ef3e80
--- /dev/null
@@ -0,0 +1,40 @@
+#skip
+#expect 5
+#expect 7
+#expect 5
+#expect 7
+#expect 5
+#expect 7
+#expect 9
+
+#ship memory       : Memory
+#ship debug        : Debug
+#ship fifo         : Fifo
+#ship fifo2        : Fifo
+
+debug.in: [*] take, deliver;
+
+fifo.out: [*] take, sendto debug.in;
+
+fifo.in:
+  [L] load loop counter with 2;
+  [L] literal 5;
+  [L] deliver;
+  [L] take, deliver;
+  [L] notify memory.inCBD;
+  [L] decrement loop counter;
+  tail;
+
+fifo2.out:
+  literal 7;
+  load repeat counter with 4;
+  sendto fifo.in;
+
+memory.inCBD: literal {
+    fifo.in:
+       literal 9;
+       deliver;
+  };
+  load repeat counter with 3;
+  discard;
+  deliver;
index 7c8f13d..9b5480d 100644 (file)
@@ -1,3 +1,4 @@
+#skip
 #expect 5
 #expect 7
 #expect 5
@@ -16,14 +17,14 @@ debug.in: [*] take, deliver;
 fifo.out: [*] take, sendto debug.in;
 
 fifo.in:
-  clog;
   load loop counter with 2;
-  literal 5;
-  deliver;
-  notify memory.inCBD;
-  take, deliver;
-  [dl] nop;
-  unclog;
+  [L] nop;
+  [L] literal 5;
+  [L] deliver;
+  [L] notify memory.inCBD;
+  [L] take, deliver;
+  [L] decrement loop counter;
+  tail;
 
 fifo2.out:
   literal 7;
@@ -35,6 +36,8 @@ memory.inCBD: literal {
        literal 9;
        deliver;
   };
-  load repeat counter with 3;
+  discard;
+  discard;
   discard;
   deliver;
+
diff --git a/tests/requeue/requeue-expire.fleet b/tests/requeue/requeue-expire.fleet
deleted file mode 100644 (file)
index 84833a7..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#expect 9
-#expect 2
-#expect 8
-#expect 1
-#expect 7
-#expect 0
-#ship debug        : Debug
-#ship fifo         : Fifo
-#ship fifo2        : Fifo
-
-fifo.in: 
-  clog;
-  load loop counter with 3;
-  take, deliver;
-  [dl] nop;
-  take loop counter;
-  deliver;
-  unclog;
-
-fifo.out:
-  [*] take, sendto debug.in;
-
-debug.in:
-  [*] take, deliver;
-
-fifo2.out:
-  literal 9; sendto fifo.in;
-  literal 8; sendto fifo.in;
-  literal 7; sendto fifo.in;
-
index e888121..5131b48 100644 (file)
@@ -17,13 +17,12 @@ debug.in:
   [*] take, deliver;
 
 fifo.out:
-  clog;
   load loop counter with 3;
-  literal 5;
-  sendto debug.in;
-  take;
-  sendto debug.in;
-  unclog;
+  [L] literal 5;
+  [L] sendto debug.in;
+  [L] take;
+  [L] sendto debug.in;
+  tail;
 
 
   
diff --git a/tests/requeue/test-kill-requeueing.fleet b/tests/requeue/test-kill-requeueing.fleet
deleted file mode 100644 (file)
index 7b783eb..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-#expect 7
-#expect 7
-#expect 7
-#expect 7
-#expect 8
-
-#ship debug        : Debug
-#ship memory       : Memory
-#ship fifo         : Fifo
-
-debug.in: [*] take, deliver, notify fifo.in;
-
-fifo.out:
-  notify fifo.in;
-  load repeat counter with 4; take, sendto debug.in;
-  notify memory.inCBD;
-  [*] take, sendto debug.in;
-
-fifo.in:
-  clog;
-  load loop counter with 63;
-  take;
-  literal 7;
-  deliver;
-  unclog;
-
-memory.inCBD:
-  take;
-  literal {
-    fifo.in:
-      massacre;   // extra instruction due to literal!
-      literal 8;
-      deliver;
-      notify memory.inCBD;
-        fifo.in: literal 8; [*] take, deliver;
-    memory.inCBD:
-      take;
-      literal {
-      }; deliver;
-  }; deliver;
-
-
-
index 768651d..154f7a0 100644 (file)
 #ship alu   : Alu2
 #ship debug : Debug
 
-alu.inOp:  literal Alu2.inOp[ADD];
-           load repeat counter with *;
-           deliver;
+// this test is bogus to begin with; doesn't have proper flow control
 
-alu.out:   load loop counter with 40;
-           clog;
-           take, sendto alu.in1;
-           sendto debug.in;
-           nop;
-           decrement loop counter;
-           nop;
-           unclog;
+alu.inOp:  literal Alu2.inOp[ADD];
+           [*] deliver;
 
-debug.in:  load repeat counter with *;
-           take, deliver;
+debug.in:  [*] take, deliver;
 
 alu.in2:   literal 4;
-           load repeat counter with *;
-           deliver;
+           [*] deliver;
 
-alu.in1:   clog;
-           literal 2;
+alu.out:   load loop counter with 40;
+           [L] take, sendto alu.in1;
+           [L] sendto debug.in;
+           tail;
+
+alu.in1:   literal 2;
            load repeat counter with 4;
            deliver;
            load loop counter with 2;
-           take, deliver;
-           discard;
-           deliver;
-           unclog;
+           [L] take, deliver;
+           [L] discard, deliver;
+           tail;
+
diff --git a/tests/torpedo/basic-torpedo.test b/tests/torpedo/basic-torpedo.test
new file mode 100644 (file)
index 0000000..ed611b3
--- /dev/null
@@ -0,0 +1,16 @@
+#expect 20
+#ship debug : Debug
+#ship fifo  : Fifo
+
+debug.in:
+  [L] nop;
+  notify fifo.out;
+  [I] [*] wait;
+  [+] literal 20;
+  [+] deliver;
+  tail;
+
+fifo.out:
+  wait;
+  notify debug.in:i;
+
diff --git a/tests/torpedo/epilogue-fifo.test b/tests/torpedo/epilogue-fifo.test
new file mode 100644 (file)
index 0000000..57d3205
--- /dev/null
@@ -0,0 +1,20 @@
+#expect 20
+#expect 40
+#ship debug : Debug
+#ship fifo  : Fifo
+
+debug.in:
+  [L] nop;
+  notify fifo.out;
+  [I] [*] wait;
+  [+] literal 20;
+  [+] deliver;
+  deliver;
+  tail;
+  [+] literal 40;
+  [+] deliver;
+
+fifo.out:
+  wait;
+  notify debug.in:i;
+
diff --git a/tests/torpedo/epilogue-fifo2.test b/tests/torpedo/epilogue-fifo2.test
new file mode 100644 (file)
index 0000000..0664bd0
--- /dev/null
@@ -0,0 +1,13 @@
+#expect 0
+#expect 0
+#ship debug : Debug
+#ship fifo  : Fifo
+
+debug.in:
+  [L] nop;
+  deliver;
+  load loop counter with 0;
+  tail;
+  [+] deliver;
+
+
diff --git a/tests/torpedo/test-tapl.fleet b/tests/torpedo/test-tapl.fleet
new file mode 100644 (file)
index 0000000..97fd70e
--- /dev/null
@@ -0,0 +1,28 @@
+#expect 20
+#expect 30
+#ship debug : Debug
+#ship fifo  : Fifo
+#ship fifo2 : Fifo
+
+debug.in: [*] take, deliver;
+
+fifo.out:
+  take, sendto debug.in;
+  wait;
+  literal 30;
+  sendto debug.in;
+
+fifo.in:
+  load tapl with fifo.out;
+  [L] nop;
+  notify fifo2.out;
+  [I] [*] wait;
+  [+] literal 20;
+  [+] deliver;
+  tail;
+
+fifo2.out:
+  wait;
+  notify fifo.in:i;
+
+