A unary operator modifies a term or an expression and indicates
the action to be performed on that term or expression.
Expressions modified by unary operators must be enclosed in
angle brackets. You can use unary operators to indicate whether
a term or expression is positive or negative. If unary plus or
minus is not specified, the default value is plus. In addition,
unary operators perform radix conversion and numeric control
operations, as described in the following sections.
Table 3 Summary of Unary Operators
Unary Operator
OperatoName Example Operation
+ Plus +A Results in the positive value of A.
sign
- Minus -A Results in the negative (two's
sign complement) value of A.
\ Value of \symbol Indicates that the value of the symbol
Escape should be used. In a string literal,
indicates an escape sequence. For
example:
"Bob\X0A"
^A or ASCII ^A Specifies an ASCII constant.
^a /ABCD/
^B or Binary ^B1100011Specifies that 11000111 is a binary
^b number.
^D or Decimal ^D127 Specifies that 127 is a decimal
^d number.
^O or Octal ^O34 Specifies that 34 is an octal number.
^o
^X or Hexadecimal^XFCF9 Specifies that FCF9 is a hexadecimal
^x number.
^C or Complement ^C24 Produces the one's complement value of
^c 24 (decimal).
1 – Radix Control Operators
Radix control operators determine the radix of a term or
expression. MACRO-64 accepts terms or expressions in four
different radixes: binary, decimal, octal, and hexadecimal. The
default radix is decimal.
FORMATS
^Bnn
^Dnn
^Onn
^Xnn
nn
A string of characters that is legal in the specified radix. The
following are the legal characters for each radix:
Radix
Format Name Legal Characters
^Bnn Binary 0 and 1
^Dnn Decimal 0 to 9
^Onn Octal 0 to 7
^Xnn Hexadecimal0 to 9 and A to F
You can include radix control operators in the source program
anywhere a numeric value is legal. A radix control operator
affects only the term immediately following it, causing that
term to be evaluated in the specified radix. For example:
.WORD ^B00001101 ; Binary radix
.WORD ^D123 ; Decimal radix (default)
.WORD ^O47 ; Octal radix
Do not place spaces or tabs between the circumflex (^), the radix
specifier (B, D, O, or X), or the numeric value.
2 – Numeric Complement Operator
The complement operator (^C) produces the one's complement of
the specified value.
FORMAT
^Cterm
term
Any term or expression. If an expression is specified, it must be
enclosed in angle brackets.
MACRO-64 evaluates the term or expression as an 8-byte value
before complementing it. For example:
.LONG ^C^XFF ; Produces FFFFFF00 (hex)
.LONG ^C25 ; Produces complement of
; 25 (dec) which is
; FFFFFFE6 (hex)