summaryrefslogtreecommitdiff
path: root/parser.c
diff options
context:
space:
mode:
Diffstat (limited to 'parser.c')
-rw-r--r--parser.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/parser.c b/parser.c
index 00dfcad6..d802f057 100644
--- a/parser.c
+++ b/parser.c
@@ -686,9 +686,12 @@ insn *parse_line (int pass, char *buffer, insn *result,
if (is_simple(value)) {
if (reloc_value(value)==1)
result->oprs[operand].type |= UNITY;
- if (reloc_value(value) >= -128 &&
- reloc_value(value) <= 127)
- result->oprs[operand].type |= SBYTE;
+ if (optimizing) {
+ if (reloc_value(value) >= -128 &&
+ reloc_value(value) <= 127)
+ result->oprs[operand].type |= SBYTE;
+ else result->oprs[operand].type |= SBIG;
+ }
}
}
else /* it's a register */