NonStop S-Series Server Description Manual (G06.24+)
HP NonStop S-Series Server Description Manual—520331-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










