UClang*
(Redirected from UClang)
UClang* is a little endian esoteric language created by User:RSG4908 that uses Unicode letters to represent instructions.
Instructions
Notes: 0xA0-0xB3 are reserved for instructions. To get values beyond A0, you must use load instructions alongside with increment instructions or addition instructions.
Instruction | Description | Notes |
---|---|---|
0xA0 | Set the accumulator to the value after the instruction | |
0xA1 | Output corresponding character in the accumulator | |
0xA2 | Take input from the command line. | |
0xA3 | Compare accumulator with the value after the instruction | A3 25should compare the accumulator to 0x25 |
0xA4 | Bitwise AND with the accumulator | |
0xA5 | Bitwise OR with the accumulator | |
0xA6 | Subtract with value after the instruction | |
0xA7 | Addition with value after the instruction | |
0xA8 | Increment the accumulator | |
0xA9 | Decrement the accumulator | |
0xAA | Reset the accumulator | Sets the accumulator to 0x00. |
0xAB | Branch to "label" if not equal | |
0xAC | Branch to "label" if equal | |
0xAD | Logical shift right | |
0xAE | Logical shift left | |
0xAF | No operation | |
0xB0 | Arithmetic shift left | |
0xB1 | Arithmetic shift right | |
0xB2 | Places a "label" | All labels must have a number assigned to it. |
0xB3 | Jump to "label" |
Example programs
Hello world (34 bytes)
A0 48 A1 A0 65 A1 A0 6C A1 A0 6C A1 A0 6F A1 A0 20 A1 A0 77 A1 A0 6F A1 A0 72 A1 A0 6C A1 A0 64 A1 AA