Beginning Assembly

We create open-source because we love it, and we share our finding so everyone else can benefit as well.


Beginning Assembly

Assembly has always been a weak-point of mine, and felt I needed to pursue it more. Most tutorials were vague, leaving me with more questions than answers. They would cover syntax, and what was done on the machine level, but never really giving an idea of what you were trying to accomplish. After going through many tutorials, I eventually gave up. While working on a different project, I found ASM embedded in the source. Once I started digging deeper, it all started to make sense.

Beginning Again

started to listen to old SID tracks from games of my childhood, and after listening I really wanted to know how to code music on the C64. Without any idea where to start, I started reading about Hubbard and Tel’s composing on the Commodore platform, and how they would write all of their music completely in machine language. A few hours later, and I finally had a good starting point. To give myself an accessible platform, I installed the VICE C64 emulator, and an abandoned version of Turbo Assembler (TASM).

Why Learn Assembly

I normally wouldn’t be considering it, when it doesn’t have a foreseeable advantage in future ASM projects. But I still wanted to point this out, because working with an 8-bit processor is so much easier than working with today’s microprocessors. You can get the feel of ASM without getting overwhelmed with info. Take a look at Issues 1-3 of C= Hacking, and you will get a general how-to of 8052 ASM. This should give you a good idea of how ASM works, and maybe even spawn some ideas. Once you’re comfortable with it, you’ll almost instantly understand the internals of the Commodore. Overall it makes for a great stepping stone to bigger and better architectures, which have a whole different syntax, endianness, sys-calls, registers, and actual application.

No Comments

Add your comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.