checkpoint
[fleet.git] / src / edu / berkeley / fleet / CodeBag.java
index fb7325a..0173781 100644 (file)
@@ -2,6 +2,7 @@ package edu.berkeley.fleet;
 
 import java.util.*;
 import java.io.*;
+import static edu.berkeley.fleet.Instruction.IgnoreCopyTake;
 
 /** a codebag */
 public class CodeBag {
@@ -65,10 +66,15 @@ public class CodeBag {
                 Instruction inst = (Instruction)d;
                 dump(os, inst.source.resolve(fleet).instr_bits);
                 dump(os, inst.source.resolve(fleet).instr_addr);
-                dump(os, 5);
-                dump(os, 10); // input+output
-                dump(os, inst.destination.resolve(fleet).bits);
-                dump(os, inst.destination.resolve(fleet).addr);
+                dump(os, 1); dump(os, inst.trigger ? 1 : 0);
+                dump(os, 1); dump(os, inst.dataIn != IgnoreCopyTake.IGNORE ? 1 : 0);
+                dump(os, 1); dump(os, inst.dataIn == IgnoreCopyTake.COPY ? 1 : 0);
+                dump(os, 1); dump(os, inst.dataOut ? 1 : 0);
+                dump(os, 1); dump(os, inst.ack ? 1 : 0);
+                if (inst.destination != null) {
+                    dump(os, inst.destination.resolve(fleet).bits);
+                    dump(os, inst.destination.resolve(fleet).addr);
+                }
                 dump(os, 0);
                 System.out.println();
             } else if (d instanceof Literal.LiteralDatum) {
@@ -78,7 +84,14 @@ public class CodeBag {
                 dump(os, 5);
                 dump(os, 2);
                 dump(os, 32);
-                dump(os, ld.data);
+                dump(os, (ld.data >> 24) & 0xff);
+                dump(os, (ld.data >> 16) & 0xff);
+                dump(os, (ld.data >> 8) & 0xff);
+                dump(os, (ld.data >> 0) & 0xff);
+                //dump(os, 0xff);
+                //dump(os, 0xff);
+                //dump(os, 0xff);
+                //dump(os, 0xff);
                 dump(os, 0);
                 System.out.println();
             }