Word Name |
Word Type |
Data Stack Signature |
Return Stack Signature |
Description |
Availability |
V1.0 |
V1.1 |
V1.2 |
-
|
S |
a b -- a-b |
-- |
Subtracts b from a, replacing them with the result.
|
|
|
|
*
|
S |
a b -- a*b |
-- |
Multiplies a by b, replacing them with the result.
|
|
|
|
*/
|
S |
n1 n2 n3 – n4 |
-- |
n1 is first multiplied by n2 producing an intermediate 32-bit result. n4 is the floor of the quotient of the intermediate 32-bit result divided by the divisor n3.
|
|
|
|
*/MOD
|
S |
n1 n2 n3 -- n4 n5 |
-- |
n1 is first multiplied by n2 producing an intermediate 32-bit result. n4 is the remainder and n5 is the floor of the quotient of the intermediate 32-bit result divided by the divisor n3.
|
|
|
|
/
|
S |
a b -- a/b |
-- |
Divides a by b, replacing them with the result.
|
|
|
|
/MOD
|
S |
n1 n2 -- n3 n4 |
-- |
n3 is the remainder and n4 the floor of the quotient of n1 divided by the divisor n2.
|
|
|
|
+
|
S |
a b -- a+b |
-- |
Sums a and b, replacing them with the result.
|
|
|
|
1-
|
S |
a -- a-1 |
-- |
Subtracts 1 from the topmost cell.
|
|
|
|
1+
|
S |
a -- a+1 |
-- |
Increases the topmost cell value by 1.
|
|
|
|
2-
|
S |
a -- a-2 |
-- |
Subtracts 2 from the topmost cell.
|
|
|
|
2*
|
S |
a -- a*2 |
-- |
Multiplies the topmost cell by 2.
|
|
|
|
2/
|
S |
a -- a/2 |
-- |
Divides the topmost cell by 2.
|
|
|
|
2+
|
S |
a -- a+2 |
-- |
Adds 2 to the topmost cell.
|
|
|
|
ABS
|
S |
-a -- a |
-- |
Converts topmost cell to positive if negative.
|
|
|
|
MAX
|
S |
a b -- a|b |
-- |
a and b are removed, to be replaced with the higher of the two.
|
|
|
|
MIN
|
S |
a b -- a|b |
-- |
a and b are removed, to be replaced with the lower of the two.
|
|
|
|
MOD
|
S |
a b -- c |
-- |
The result c is a modulo b. In other words, c is the remainder, after dividing a by b.
|
|
|
|
NEGATE
|
S |
a -- a|-a |
-- |
Negates the topmost cell (positive becomes negative, negative becomes positive).
|
|
|
|
RND
|
S |
limit --- n |
-- |
Pushes a pseudo random number n which is a number between 0 and limit-1. If the full range (0-65535) is required, use a limit of 0.
|
|
|
|
UM*
|
S |
u1 u2 -- ud |
-- |
ud is the unsigned double (32-bit) product of u1 times u2. All values and arithmetic are unsigned.
|
|
|
|
UM/MOD
|
S |
ud u1 -- u2 u3 |
-- |
u2 is the remainder and u3 is the floor of the quotient after dividing ud by the divisor u1. All values and arithmetic are unsigned. An ambiguous condition results if the divisor is zero or if the quotient lies outside the 16-bit range.
|
|
|
|