Init

From Esolang
Jump to navigation Jump to search

This language was created by User:WhyNot?.

WHY??

I created this language so it would be easy and quick to run, but at the programmer's expense. But no-one cares about programmers.

Syntax

Syntax must be perfect, or else the program will crash without telling you what the error is. To differentiate between data, there are some symbols to help you with that:

#83 ; Number
@04 ; ROM address
$39 ; RAM address

By the way, ; denotes a comment. This language isn't that heartless... Anyway, all numbers are in hexadecimal and are (usually) only 1 bit. Most of the time, each 'segment' of the code must be 3 letters long. A segment is a one word, for example add is a segment.

Language

Here's where it gets better.

add [ram address] [number] ; Self explanatory (adding)
sub [ram address] [number] ; Self explanatory (subtracting)
mul [ram address] [number] ; Self explanatory (multiplying)
div [ram address] [number] ; Self explanatory (dividing)
mod [ram address] [number] ; Modulo
dat [data] ; Very important, stores data in ROM. The data can have infinite length. dat and ram can support strings, too.
ram [ram address] [data] ; Also important, stores data in ram. The data can have infinite length.
rnd [ram address] ; Puts either a 1 or a 0 in ram.
out [anything] ; Self explanatory (output)
inp [ram address] ; Self explanatory (input)
nou ; A command that says NO U to the computer. The computer then fires back by deleting itself.
jmp [number] ; jump, just remember that the first line is 0!
if_ [number] ; if number == 0, skip next line.
boo [ram address] [boolean] [number, if needed] ; boolean
; boolean: and, or_ not, xor, nor, nnd (nand), xnr (xnor)
end ; end program