The MemeAssembly Playground is a website for writing, compiling and running MemeAssembly code in the browser.
MemeAssembly is a custom assembly-like language that is transpiled to x86-64 assembly, which is then turned into x86-64 machine code.
- The user writes MemeAssembly code in the editor
- This code is transpiled to the x86-64 assembly text format by my fork of the MemeAssembly compiler that can run in WASM
- This text is then compiled/assembled to real x86-64 machine code by my x86-64 assembler
- This machine code is then executed by my x86-64 emulator for WASM
The website emulates some syscalls by registering hooks for relevant instructions. This allows usage of syscalls like read
, write
and exit
. The console on the page is used for the read
and write
syscalls.
- Make sure Node, NPM, Rust and
wasm-pack
are installed - Clone repository
- Run
setup.sh
- Run
npm install
- Run
npm run dev
to serve site locally