# Wasm

Jump to navigation
Jump to search

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.