expression
An assembly language expression constructed from the reserved
names, constants, operators, and address expressions listed in this
section.
Reserved Names
- r0
- r31
General-purpose registers
- g0
- g7
Global registers
- o0
- o7
Output registers
- i0
- i7
Input registers
- sp
Stack pointer (o6)
- fp
Frame pointer (i6)
- f0
- f31
Floating-point registers
- fsr
Floating-point status register
- fq
Floating-point deferred-trap queue
- pc
Program counter
- npc
Next program counter
- psw
Processor status word
- y
Multiply/divide register
- wim
Window invalid mask
- tbr
Trap base register
Constants
Title not available (Syntax )
- Integer
digits (decimal) (for
example, 9876)
0digits
(octal) (for example, 05376)
0xdigits
(hexadecimal) (for example, 0x2F)
B'digits
(binary) (for example, B'10001111)
Q'digits
(octal) (for example, Q'71035)
O'digits
(octal) (for example, O'71035)
D'digits
(decimal) (for example, D'9876)
H'digits
(hexadecimal) (for example, H'2F)
X'digits
(hexadecimal) (for example, X'2F)
R'digits
(hexadecimal right) (for example, R'2F
is H'2F)
L'digits
(hexadecimal left shifted 10) (for example, L'2F
is H'BC00)
- Float
digits[{E|e}[+|-]digits] digits.[digits][{E|e}[+|-]digits]
For example, 5.48E-11
is a valid number.
- Character
'char[char[char[char]]]'
Operators
Title not available (Syntax )
- Assignment
=
- Arithmetic
+,-,
*, /
- Mod
%
- Shift
<<,
>>
- Logical
&,
|, ^,~
(and, or, xor, not)
- Grouping
(),
{}
- Unary
lo
(least significant 10 bits)
- Unary
hi
(most significant 22 bits)
Address Expressions
- <identifier>
Name from source program
- <register_name>
Register direct
- [expression]
Indirect
- expression.B
8 bits
- expression.C
8 bits as a char
- expression.H
16 bits
- expression.L
32 bits
Hexadecimal is the default input and output radix.