Arithmetic
All artithmetic commands use the
prefix and operate on two items in the stack. The second from top (first pushed) item is considered to be to the left of the operator, and top item (last pushed) is to the right of the operator.
Integer Literals
Integers are expressed in Nospace as a binary squence of
and
s (representing 0
and 1
respectively)
prefixed by a
or
indicating signedness (+
and -
respectievly) and terminated by a
. For example, the number 518929412845
is represented as
.
Addition
The addition command takes two numbers from the top of the stack, adds them together, and pushes the result back to the stack.
Syntax
Command | Unobsfucated | |
---|---|---|
Nospace | | ZWNJ , ZWSP , ZWSP , ZWSP |
Whitespace |
| Tab, Space, Space, Space |
Nossembly | Add | - |
Parameters
The addition command takes no parameters
Stack parameters
The following parameters should be pushed in the order expressed below:
Int
representing the left hand side of the operatorInt
representing the right hand side of the operator
Example
Subtraction
The subtract command takes two numbers from the top of the stack, subtracts the one pushed last, and pushes the result back to the stack.
Syntax
Command | Unobsfucated | |
---|---|---|
Nospace | | ZWNJ , ZWSP , ZWSP , ZWNJ |
Whitespace |
| Tab, Space, Space, Tab |
Nossembly | Subtract | - |
Parameters
The subtract command takes no parameters
Stack parameters
The following parameters should be pushed in the order expressed below:
Int
representing the left hand side of the operatorInt
representing the right hand side of the operator
Example
Multiplication
The multiplication command takes two numbers from the top of the stack, multiplies them, and pushes the result back to the stack.
Syntax
Command | Unobsfucated | |
---|---|---|
Nospace | | ZWNJ , ZWSP , ZWSP , ZWJ |
Whitespace |
| Tab, Space, Space, Newline |
Nossembly | Multiply | - |
Parameters
The multiplication command takes no parameters
Stack parameters
The following parameters should be pushed in the order expressed below:
Int
representing the left hand side of the operatorInt
representing the right hand side of the operator
Example
Integer Division
The integer division command takes two numbers from the top of the stack, divides the item pushed last from the one pushed first, and pushes the result back to the stack.
Syntax
Command | Unobsfucated | |
---|---|---|
Nospace | | ZWNJ , ZWSP , ZWNJ , ZWSP |
Whitespace |
| Tab, Space, Tab, Space |
Nossembly | Divide | - |
Parameters
The integer division command takes no parameters
Stack parameters
The following parameters should be pushed in the order expressed below:
Int
representing the left hand side of the operatorInt
representing the right hand side of the operator
Example
Modulo
The modulo command takes two numbers from the top of the stack, multiplies them, and pushes the result back to the stack.
Syntax
Command | Unobsfucated | |
---|---|---|
Nospace | | ZWNJ , ZWSP , ZWNJ , ZWNJ |
Whitespace |
| Tab, Space, Tab, Tab |
Nossembly | Mod | - |
Parameters
The modulo command takes no parameters
Stack parameters
The following parameters should be pushed in the order expressed below:
Int
representing the left hand side of the operatorInt
representing the right hand side of the operator
Example