From 231da22574ec643f5957102c4a9eb6dd92a14e13 Mon Sep 17 00:00:00 2001 From: adam Date: Wed, 2 Jan 2008 07:41:29 +0100 Subject: [PATCH] used signed fields when readInstruction()ing a literal instruction --- src/edu/berkeley/fleet/ies44/InstructionEncoder.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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, -- 1.7.10.4