add IS_INTERRUPTIBLE mask (sort of a hack)
authorAdam Megacz <adam@megacz.com>
Thu, 16 Jul 2009 18:53:06 +0000 (11:53 -0700)
committerAdam Megacz <adam@megacz.com>
Thu, 16 Jul 2009 18:53:06 +0000 (11:53 -0700)
src/edu/berkeley/fleet/two/FleetTwoFleet.java

index 0c84eca..ba3ebfe 100644 (file)
@@ -25,6 +25,7 @@ public abstract class FleetTwoFleet extends Fleet {
     public final Mask DISPATCH_PATH;
     public final Mask DISPATCH_INSTR;
     public final Mask NOT_INTERRUPTIBLE;
+    public final Mask IS_INTERRUPTIBLE;
     public final Mask P;
     public final Mask P_NOT_A;
     public final Mask P_A;
@@ -114,7 +115,8 @@ public abstract class FleetTwoFleet extends Fleet {
             TAIL                       = new Mask(".........1...........................");
 
             // actually "is interruptible"
-            NOT_INTERRUPTIBLE          = new Mask("...........1....1....................");
+            NOT_INTERRUPTIBLE          = new Mask("...........0....0....................");
+            IS_INTERRUPTIBLE           = new Mask("...........1....1....................");
 
             SHIFT                      = new Mask("..........1......1vvvvvvvvvvvvvvvvvvv");
             SET_IMMEDIATE              = new Mask("..........1......0.....vvvvvvvvvvvvvv");
@@ -153,6 +155,7 @@ public abstract class FleetTwoFleet extends Fleet {
             DISPATCH_PATH              = new Mask("vvvvvvvvvvv..........................");
             DISPATCH_INSTR             = new Mask("...........vvvvvvvvvvvvvvvvvvvvvvvvvv");
             NOT_INTERRUPTIBLE          = new Mask("...........1.........................");
+            IS_INTERRUPTIBLE           = new Mask("...........0.........................");
             P                          = new Mask(".............vvv.....................");
             P_NOT_A                    = new Mask(".............000.....................");
             P_A                        = new Mask(".............001.....................");
@@ -433,6 +436,7 @@ public abstract class FleetTwoFleet extends Fleet {
             if (inst.dataOut)                    instr = DO.set(instr);
             if (inst.tokenOut)                   instr = TO.set(instr);
             if (!inst.interruptible)             instr = NOT_INTERRUPTIBLE.set(instr);
+            else                                 instr = IS_INTERRUPTIBLE.set(instr);
 
             if (inst.latchPath)                  instr = PATH_DATA.set(instr);
             else if (inst.path!=null) {