Wasm

From Esolang
Jump to navigation Jump to search
Wasm
Paradigm(s) imperative
Designed by User:jan Gamecuber
Appeared in 2022
Memory system tape
Computational class Turing complete
Reference implementation Unimplemented
Influenced by brainfuck, Assembly languages
File extension(s)

WASM, an acronym for Worst ASseMbly is a Turing-complete brainfuck derivative made by jan Gamecuber to be a semi-realistic assembly language that still sucks to program in. This language uses a theoretically infinite tape of unbounded integers to store data.

Commands

Bytecode Name Function
0000 or 0 Right Move the data pointer right 1.
0001 or 1 Left Move the data pointer left 1.
0010 or 2 Inc Increment the current cell.
0011 or 3 Dec Decrement the current cell.
0100 or 4 OutUnicode Output the current cell as unicode.
0101 or 5 InUnicode Take 1 char input and store it's unicode value in the current cell.
0110 or 6 While While the current cell is not 0
0111 or 7 EndWhile Close the while block.
1000 or 8 Right6 Move the data pointer right 6.
1001 or 9 Left6 Move the data pointer left 6.
1010 or A Inc6 Increment the current cell by 6.
1011 or B Dec6 Decrement the current cell by 6.
1100 or C OutNum Output the current cell as a number.
1101 or D InNum Take input and store it in the current cell.
1110 or E If If the current cell is not 0
1111 or F EndWhile Close the if block.

This language is turing complete, as the first 8 commands are the same as in brainfuck.