# Shell Commands/Eval

From MorphOS Library

**Eval** - Evaluates a mathematical expression

VALUE1/A, OP, VALUE2/M, TO/K, LFORMAT/K, HEX/S

VALUE1 - value 1: can be decimal, hexadecimal or octal (see below) OP - a supported operator (see below) VALUE2 - value 2: can be decimal, hexadecimal or octal (see below) TO - filename where to redirect eval result LFORMAT - formatting string used to print the answer (see below) HEX - prints the result in hexadecimals

About VALUE1 and VALUE2:

- Hexadecimal numbers are indicated by either a leading Ox or #x.
- Octal numbers are indicated by either a leading 0 or a leading #.
- Alphabetical characters are indicated by a leading single quotation mark (`) and are evaluated as their ASCII equivalent.

The LFORMAT keyword specifies the formatting string used to print the answer. You can use %X (hexadecimal), %O (octal), %N (decimal), or %C (character). The %X and %O options require a number of digits using the LFORMAT keyword, you can specify to print a new line by including *N in your string.

Supported Operations:

addition + subtraction - multiplication * division / modulo mod, M, m, or % bitwise AND & bitwise OR | bitwise NOT ~ left shift Ish, L, or | right shift rsh, R, or r negation - exclusive OR xor, X, or x bitwise eqv, E, or e equivalence Example: SYS:> EVAL 0x5f / 010 LFORMAT="The answer is %X4*N" The answer is 000B SYS:>