From: adam Date: Wed, 2 Jan 2008 06:41:29 +0000 (+0100) Subject: used signed fields when readInstruction()ing a literal instruction X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=231da22574ec643f5957102c4a9eb6dd92a14e13;p=fleet.git used signed fields when readInstruction()ing a literal instruction --- diff --git a/src/edu/berkeley/fleet/ies44/InstructionEncoder.java b/src/edu/berkeley/fleet/ies44/InstructionEncoder.java index b687df2..6a33b5b 100644 --- a/src/edu/berkeley/fleet/ies44/InstructionEncoder.java +++ b/src/edu/berkeley/fleet/ies44/InstructionEncoder.java @@ -15,7 +15,11 @@ public abstract class InstructionEncoder { public static final int OFFSET_MASK_LITERAL = 24; public static final int WIDTH_MASK_LITERAL = 2; public static final int MASK_LITERAL = 1; - + /* + public static final int OFFSET_MASK_LITERAL = 20; + public static final int WIDTH_MASK_LITERAL = 6; + public static final int MASK_LITERAL = 13; + */ public static final int OFFSET_MASK_KILL = 21; public static final int WIDTH_MASK_KILL = 5; public static final int MASK_KILL = 5; @@ -96,7 +100,7 @@ public abstract class InstructionEncoder { boolean dataOutDest = name.isOutbox() && dataOut && tokenOut; boolean isLiteral = getIntField(OFFSET_MASK_LITERAL+WIDTH_MASK_LITERAL-1, OFFSET_MASK_LITERAL, inst)==MASK_LITERAL; if (isLiteral) - return new Instruction.LocalLiteral(name, getIntField(OFFSET_LITERAL+WIDTH_LITERAL-1, OFFSET_LITERAL, inst), count); + return new Instruction.LocalLiteral(name, getSignedField(OFFSET_LITERAL+WIDTH_LITERAL-1, OFFSET_LITERAL, inst), count); if (dataOutDest) tokenOut = false; return new Instruction.Move(name, dest,