# Uncomment

Uncomment is an esoteric programming language created by user:Okohokonu in 2009. It uses two commands; numbers from 0 to 255 in hexadecimal, and "x."

## Stack-pushing

The hexadecimal number in the program is pushed to the stack, so:

```010203040a
```

pushes 1, then 2, then 3, then 4, then 10 to the stack.

## Function execution

The character "x" executes the function using the value on top of the stack.

### Function list

Function Number Parameters What it Does
0 x Exits with exit code x
1 x , y If x is 0, then prints y to standard output as a character. If x is 1, y is printed as an integer.
2 x, y Pops x and y from the stack and pushes their sum.
3 x, y Pops x and y from the stack and pushes x - y.
4 x, y Pops x and y from the stack and returns x * y.
5 x, y, z If x is 0, pushes integer divide y / z. If x is 1, pushes y % z.
6 x, y If x > y, pushes 1. Otherwise, pushes 0.
7 x, y Same as above, but x < y.
8 x, y Same as above; x >= y.
9 x, y Same as above; x <= y.
10 x, y Same as above; x is equal to y.
11 x, y Same as above; x is not equal to y.
12 x If x is 0, inputs a character, pushing the character code of the character onto the stack. If x is 1, does the same thing, but if a pure integer is input, the value of the integer is pushed to the stack. More than one character is reversed and pushed to the stack.
13 x If statement. Top value on the stack is used, where 1 is true and 0 is false.
14 -- Ends the innermost if statement.
15 x Makes a label with "name" x. This means that only 256 labels can be made total.
16 x Goto statement. Directs program execution to label with "name" x.

Note that "x" pops the first value on the stack and runs that function. X is the first value on the stack, y is the second, and z is the third. X, y, and z are all popped when the function is called, depending on what function is used.