From Esolang
Jump to navigation Jump to search

This language is created by User:WhyNot?. Based off Assembly.


There are infinite memory slots, which each can hold 1 byte of information. When using the variable, use $. (The addresses start at 0) Note! All numbers must be in hexadecimal.

; Comment
add (first number) (second number) (where to store answer) ; adds numbers
sub ; add, but subtraction
mul ; add, but multiplication
div ; add, but division
mod ; add, but modulus
jmp (line to jump) ; jumps to line (first line is line 0)
rnd (start of range) (end of range) (where to store answer) ; random number
if_ (memory address) ; if 0, skip next line.
out (Ascii of letter(s)) ; Output
inp (one for single letter, mny for multiple) (Memory address) ; When doing a multiple letter input, each letter is stored in the following 
; memory after the first letter.
boo (where to store answer) (boolean operator) (first number) (second number if required) ; Boolean
; Boolean operators: not, and, or_ 
end ; ends program
set (where to store answer) (number) ; sets variable

Larger Variables

When wanting to use variables larger than 1 byte, put a number in front of the $. Then, the computer will use 1 memory cell plus the number of cells. Example:

1$1 ; 2 bytes, uses memory space 1 and 2


inp one $0
out $0
jmp 0

Hello world

out 48 65 6c 6c 6f 20 57 6f 72 6c 64 21

Truth Machine

inp one $0
sub $0 30 $0
if_ $0
jmp 6
out 30
out 31
jmp 6