UClang*

From Esolang
Jump to navigation Jump to search

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.

List of 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 25
should 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

Implementations