An editor and debugger for M68K, MIPS, RISC-V, x86-64 and Z80 assembly.
ASM Editor lets you write and run assembly in the browser. Step through a program one instruction at a time, inspect registers and memory, or step backwards to undo an instruction.
It supports M68K, MIPS, RISC-V, x86-64 and Z80, with instruction references and interactive courses. Teachers can create exams and embed the editor in other websites.
All architectures support terminal input and output. M68K, MIPS, RISC-V and Z80 also support graphics, keyboard input and sound. Mouse input is available on M68K and Z80. M68K, MIPS and RISC-V include a programmable synthesizer, while Z80 includes an AY-3-8910 sound chip.
The project is described in the paper "ASM Editor: Understanding Language Abstractions Through Assembly Programming", presented at the 2026 IEEE Global Engineering Education Conference (EDUCON) in Cairo.
Run a program, set breakpoints or step through instructions. Step backwards to inspect the state before an instruction ran.
Register and memory views highlight changes alongside previous values. Inspect the call stack and stack frames, with colors marking each frame. View values as hexadecimal, decimal, signed or unsigned.
Completion suggests instructions and valid addressing modes. The instruction reference includes examples, and errors point to the relevant code.
Compile C or C++ to MIPS or 32-bit and 64-bit RISC-V assembly with Clang or GCC, or to x86-64 assembly with GCC. Source mapping shows which instructions came from each line.
Start with assembly fundamentals, then follow a course for M68K, MIPS, RISC-V, x86-64 or Z80. Lessons include interactive examples.
Define test cases with initial registers, memory and expected output. Restrict editor features for exams or embed the editor in your website.
A music player and composer for Sky: Children of the Light.
A music player and composer for Genshin Impact instruments.
An LR(1) and LALR parser visualizer.
A language and browser editor for linear and mixed integer optimization.
My computer science notes from university, written in Italian.