reorder Alu3 instructions to deal with two-instruction literals
[fleet.git] / ships / Lut3.ship
index 3692f7b..72a51dd 100644 (file)
@@ -18,9 +18,9 @@ NOR
 
 == TeX ==============================================================
 
-This ship implements a 3-input {\bf L}ook {\bf U}p {\bf T}able.  The
-least significant eight bits of the {\tt inLut} value form a truth
-table with three inputs and one output.
+This ship implements a bitwise 3-input {\bf L}ook {\bf U}p {\bf
+T}able.  The least significant eight bits of the {\tt inLut} value
+form a truth table with three inputs and one output.
 
 When values are available at all four inputs they are consumed and a
 value is produced at {\tt out}.  Each bit of {\tt out} is produced by
@@ -34,9 +34,6 @@ bit}.  This three-bit number, ranging from 0 to 7 (decimal), is used
 as a bit index into {\tt inLut}'s value (whose least significant bit
 is considered ``bit zero'').
 
-The ship-specific constants refer to commonly-used truth tables for
-{\it two-input} functions; these constant truth tables are invariant
-under input {\tt in3}.
 
 == Fleeterpreter ====================================================
   public void service() {
@@ -386,13 +383,14 @@ alu.in:
    deliver;
    [*] take, deliver;
 alu.out:
-  [*]  nop;
-  (*) wait, take, sendto lut.inLut;
-  (*) sendto alu.in;
-  kill*;
+  clog;
+  wait, take, sendto lut.inLut, requeue forever;
+  sendto alu.in,                requeue forever;
+  unclog;
 
 // acks from debug ship trigger new truth tables
-debug.in:   [*] take, deliver, notify alu.out;
+debug.in:
+  [*] take, deliver, notify alu.out;
 
 lut.inLut:
   literal 0;