Added builtin .min() and .max() pseudo functions to the assembler.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4583 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
uz
2010-02-11 18:54:08 +00:00
parent c72cf88723
commit 61b69316c5
10 changed files with 188 additions and 34 deletions

View File

@@ -343,6 +343,16 @@ long GetExprVal (ExprNode* Expr)
case EXPR_BOOLXOR:
return (GetExprVal (Expr->Left) != 0) ^ (GetExprVal (Expr->Right) != 0);
case EXPR_MAX:
Left = GetExprVal (Expr->Left);
Right = GetExprVal (Expr->Right);
return (Left > Right)? Left : Right;
case EXPR_MIN:
Left = GetExprVal (Expr->Left);
Right = GetExprVal (Expr->Right);
return (Left < Right)? Left : Right;
case EXPR_UNARY_MINUS:
return -GetExprVal (Expr->Left);
@@ -564,17 +574,3 @@ int EqualExpr (ExprNode* E1, ExprNode* E2)