From e3f93f203a1b47a31fef21219955335476857d90 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Sat, 6 May 2017 16:04:21 +0100 Subject: Fixed decrement again --- c_compiler/src/expression.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/c_compiler/src/expression.cpp b/c_compiler/src/expression.cpp index 775cdaa..8f37136 100644 --- a/c_compiler/src/expression.cpp +++ b/c_compiler/src/expression.cpp @@ -301,7 +301,7 @@ Bindings PostfixPostIncDecExpression::printAsm(Bindings bindings, int &label_cou if(operator_ == "++") printf("\taddiu\t$3,$2,1\n"); else if(operator_ == "--") - printf("\tsubiu\t$3,$2,1\n"); + printf("\taddiu\t$3,$2,65535\n"); else throw std::runtime_error("Error : '"+operator_+"' not recognized"); @@ -343,9 +343,9 @@ Bindings UnaryPreIncDecExpression::printAsm(Bindings bindings, int &label_count) { unary_expression_->printAsm(bindings, label_count); if(operator_ == "++") - printf("\taddi\t$2,$2,1\n"); + printf("\taddiu\t$2,$2,1\n"); else if(operator_ == "--") - printf("\taddi\t$2,$2,65535\n"); + printf("\taddiu\t$2,$2,65535\n"); else throw std::runtime_error("Error : '"+operator_+"' not recognized"); -- cgit