use getShiftWidth() in Parser.java
authoradam <adam@megacz.com>
Mon, 3 Nov 2008 09:37:34 +0000 (10:37 +0100)
committeradam <adam@megacz.com>
Mon, 3 Nov 2008 09:37:34 +0000 (10:37 +0100)
src/edu/berkeley/fleet/assembler/Parser.java

index b43c6c6..2f8cc5a 100644 (file)
@@ -154,15 +154,15 @@ public class Parser {
         for(int i=0; i<instructions.length; i++) {
             long lit = ((FleetTwoFleet)fpga).writeInstruction(instructions[i], out);
             ret.add(discard(out));
-            ret.add(new Instruction.Shift(inDataWrite, false, IgnoreOLC, new BitVector(fpga.getWordWidth()).set(getField(36, 19, lit))));
-            ret.add(new Instruction.Shift(inDataWrite, false, IgnoreOLC, new BitVector(fpga.getWordWidth()).set(getField(18,  0, lit))));
+            ret.add(new Instruction.Shift(inDataWrite, false, IgnoreOLC, new BitVector(fpga.getShiftWidth()).set(getField(36, 19, lit))));
+            ret.add(new Instruction.Shift(inDataWrite, false, IgnoreOLC, new BitVector(fpga.getShiftWidth()).set(getField(18,  0, lit))));
             ret.add(deliver(inDataWrite));
-            ret.add(new Instruction.Shift(inAddrWrite, false, IgnoreOLC, new BitVector(fpga.getWordWidth()).set(getField(36, 19, i))));
-            ret.add(new Instruction.Shift(inAddrWrite, false, IgnoreOLC, new BitVector(fpga.getWordWidth()).set(getField(18,  0, i))));
+            ret.add(new Instruction.Shift(inAddrWrite, false, IgnoreOLC, new BitVector(fpga.getShiftWidth()).set(getField(36, 19, i))));
+            ret.add(new Instruction.Shift(inAddrWrite, false, IgnoreOLC, new BitVector(fpga.getShiftWidth()).set(getField(18,  0, i))));
             ret.add(deliver(inAddrWrite));
         }
-        ret.add(new Instruction.Shift(inCBD, false, IgnoreOLC, new BitVector(fpga.getWordWidth()).set(getField(36, 19, startcbd))));
-        ret.add(new Instruction.Shift(inCBD, false, IgnoreOLC, new BitVector(fpga.getWordWidth()).set(getField(18,  0, startcbd))));
+        ret.add(new Instruction.Shift(inCBD, false, IgnoreOLC, new BitVector(fpga.getShiftWidth()).set(getField(36, 19, startcbd))));
+        ret.add(new Instruction.Shift(inCBD, false, IgnoreOLC, new BitVector(fpga.getShiftWidth()).set(getField(18,  0, startcbd))));
         ret.add(wait(inCBD));
         ret.add(deliver(inCBD));
         ret.add(sendto(out, out.getPath(inCBD.getDataDestination(),null)));
@@ -411,7 +411,7 @@ public class Parser {
                     cb.add(new Move(dock, looping, predicate, interruptible, null, false, false, false, false, false, false));
                 } else if ("shift".equals(tt.head())) {
                     cb.add(new Shift(dock, looping, predicate,
-                                     new BitVector(dock.getShip().getFleet().getWordWidth()).set(number(tt.child(0)))));
+                                     new BitVector(dock.getShip().getFleet().getShiftWidth()).set(number(tt.child(0)))));
                     continue;
                 } else if ("flush".equals(tt.head())) {
                     cb.add(new Flush(dock, looping, predicate));
@@ -452,9 +452,9 @@ public class Parser {
                         while(counter < dock.getShip().getFleet().getWordWidth()) counter += SHIFT.valmaskwidth;
                         while(counter > 0) {
                             cb.add(new Shift(dock, looping, predicate,
-                                             new BitVector(dock.getShip().getFleet().getWordWidth())
-                                             .set(getField(counter-1, counter-SHIFT.valmaskwidth, literal))));
-                            counter -= SHIFT.valmaskwidth;
+                                             new BitVector(dock.getShip().getFleet().getShiftWidth())
+                                             .set(getField(counter-1, counter-fleet.getShiftWidth(), literal))));
+                            counter -= fleet.getShiftWidth();
                         }
                     }