ASM Visualizer

Welcome! This is a beta version of a new assembly visualization tool. If you run into problems, please contact authors@diveintosystems.org with a detailed description of what's broken and how you broke it.

Visualize Your Assembly Code

Arithmetic Mode

x86 x86_64 arm64

This mode lets you quickly begin testing out assembly instructions. You can immediately begin adding arithmetic instructions, moving values to registers, etc. There's no need to create a function or set up the stack (the code to do those things is added implicitly and hidden so that you don't need to worry about it).

Function Mode

x86 x86_64 arm64

If you want to write more than one assembly function, use this mode. No code is implicitly added, but we do provide you with some scaffolding to help get you started.

Full Program Mode

x86 x86_64 arm64

If you want to write a full assembly program from scratch, including a main function, use this mode. No code is implicitly added, so you'll need to add everything yourself, exactly as if you were running the code through an assembler like gcc.

Key Features

visualize instructions

visualize the stack

visualize the registers

This assembly visualizer tool was built as part of an NSF-sponsored project to add interactive exercises to the Dive into Systems textbook. The project aims to add dynamic visualizations, interactive exercises, and worked examples to augment the textbook with new learning tools for students and supplemental resources for instructors.
Dive into Systems is a free, online textbook that serves as a gentle introduction to computer systems, computer organization, and parallel computing. The book is intended for an audience that has only a CS1 background. It guides readers through a vertical slice of a computer to develop an understanding of a variety of systems topics, including: how a computer runs a program, from a program expressed in a high-level language to low-level binary representation and circuits programming in C and Assembly (assuming a CS1 background) introduction to operating systems and the systems costs that affect program performance (the memory hierarchy, caching, and code optimization) introduction to parallel computing with shared memory and pthreads Dive into Systems is designed to be present topics in as independent manner as possible so that it can be used as a primary textbook for a wide range of introductory-level computer systems courses, or as a supplemental background textbook for upper-level courses that cover Operating Systems, Computer Architecture, Compilers, Networks, Databases, and Parallel Computing.
ASM Visualizer uses the Valgrind tool interface for its program execution trace collection.