DEV Community

TheCoolBlackCat
TheCoolBlackCat

Posted on

2

SimpleASM

SimpleASM was created at the end of my first year at Lancaster University. We'd created applications using MIPS assembly, and as a fan of seeing what can be done in browser, I wrote my own "assembly" language that could be interpreted in client-side JavaScript.

I used the GitHub Pro to keep things private at first, and I was using WebStorm, one of the JetBrains IDEs that comes in the Student Developer Pack.

My Final Project

You can see the running website here

GitHub logo TheCoolBlackCat / SimpleASM

Simple assembly language interpreter to teach basic programming.

SimpleASM

A simple assembly language (and interpreter), designed to help teach basic programming skills.

It's not at all perfect, and needs testers, so if you encounter any issues, please submit them here

Run it here




How I built it

The stack involved was just client-side JavaScript, initially served from an NGINX test server, but then moved over to a GitHub pages site (it was static, after all). The big issue I encountered was debugging the code when loops were introduced. Obviously, poor interpretation of a loop could result in the browser freezing, and as I wasn't looking to solve the halting problem, this resulted in a lot of restarted browser sessions!

Additional Thoughts / Feelings / Stories

It's been great to revisit this project for the git remote graduation this year. I have a lot of fond memories made when I created it, and even though its not my best work, and I could add greatly to it, including a refactor and much better text processing (this was the first time I'd written any sort of interpreter), I'm pleased with what I came up with.

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

AWS GenAI LIVE!

GenAI LIVE! is a dynamic live-streamed show exploring how AWS and our partners are helping organizations unlock real value with generative AI.

Tune in to the full event

DEV is partnering to bring live events to the community. Join us or dismiss this billboard if you're not interested. ❤️