NonStop S-Series Server Description Manual (G06.24+)

HP NonStop S-Series Server Description Manual520331-003
C-1
C TNS Instruction Set Definition
Symbol Definitions
This appendix defines the TNS instruction set for the NonStop S-series processors,
using conventions of the TAL programming language but based upon the special
symbols that are defined in Table C-1. Following this table of symbol definitions,
Table C-2 on page C-11 provides the formal definitions of the instructions in numeric
order according to the octal codes.
Table C-1. Definitions of Symbols (page 1 of 9)
Notation Description
x&y= bitwise "and" of x and y
x|y= bitwise "or" of x and y
x xor y= bitwise "exclusive or" of x and y
x mod y= x modulo y
~ x= bitwise "complement" of x
x<<n= x arithmetically shifted left n bits; whether sign
bit is retained is undefined
x>>n= x arithmetically shifted right n bits
x'<<'n= x logically shifted left n bits
x'>>'n= x logically shifted right n bits
x rotate n= x'<<'n + x.<0:n-1>
x:y= if x<y then -1 else if x=y then 0 else 1
x'<'y= comparison of x and y as 16-bit unsigned numbers
x':'y= if x'<'y then -1 else if x=y then 0 else 1
x max y= if x>y then x else y
x:=:y= exchange x and y
x^y= concatenate x and y. x and y are 16 bits long
unless otherwise indicated
x
y
the value x is y bits wide
The following functions perform type conversion between integers, double
integers, and addresses:
$DBL( x
y
) = ( x^0
(32-y)
>> (32-y) )
32
signed conversion to
an INT32
$DBLL(x,y) = (x^y)
32
logical conversion
to an INT32
$UDBL(x
y
)= ( 0
(32-y)
^x
y
)
32
unsigned conversion
to an INT32
$XADR( x
y
) = ( 0
(32-y-1)
^x
y
^0
1
)
32
unsigned conversion of
short word address to
a 32-bit byte address