DEV Community

TheCoolBlackCat
TheCoolBlackCat

Posted on

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.

Top comments (0)