
x86-64 playground is an online assembly editor and GDB-like debugger, powered by a Wasm port of the Blink x86-64-linux emulator.
It is designed to make assembly tooling more accessible on the web. You can use it as a standalone web app at https://x64.halb.it or embed it in web pages to enhance your technical documentation with interactive elements.
- Test and debug your assembly snippets from the browser, on an emulated x86-64-Linux environment. The web app offers a wide range of popular amd64 assemblers: GNU Binutils, Fasm, Nasm. You can fully customize the command line arguments or even provide your own assemblers.
- Run and debug your assembly snippets, or any x86-64-Linux ELF you upload. The app features an accessible interface inspired by the GDB debugger where you can step into your program, and visualize disassembly, memory and registers of the emulated process.
- Share your assembly snippets with others, or embed the app in any web page to add interactive elements to your technical articles.
- Offline first: All the code you write, or the excutables you debug are never sent to the server. Everything is emulated client side in your browser, and works without an internet connection.
The web app works as a single static page, without any server side component. It's compiled and hosted on GitHub pages. Both the emulator and debugger run client side, in a webAssembly port of the blink emulator which has been patched and modified to run as a C library. The low-level emulator APIs are expsed to the web app presentation layer via a Typescript wrapper.
The logo for this website is based on work distributed under the Creative Commons Attribution License CC BY 3.0 by Nur Achmadi Yusuf