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;
         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,