diff options
Diffstat (limited to 'lib/xixanta')
| -rw-r--r-- | lib/xixanta/src/assembler.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/xixanta/src/assembler.rs b/lib/xixanta/src/assembler.rs index 26d5396..40d2438 100644 --- a/lib/xixanta/src/assembler.rs +++ b/lib/xixanta/src/assembler.rs @@ -900,6 +900,11 @@ impl<'a> Assembler<'a> { let mut right = self.evaluate_node(node.right.as_ref().unwrap())?; let rval = right.value(); + // Some operations need to evaluate a "left" node, and the literal mode + // might have been changed by the previous evaluation of the "right" + // node. Hence, reset it here to avoid problems. + self.literal_mode = None; + let res: isize = match operation_type { OperationType::UnaryPositive => { right.negative = false; |
