Assembly Language Programming - The Basics

Assembly Language Programming can be challenging at first. All you really need is a little patience and to take the time needed to acquaint yourself with its style and syntax.

There are a few things you will need before you begin. First, you will need some way of creating Assembly Language programs. Recommended are the following software packages (there are other programming tools not listed here):

I found that it is also helpful to have a printer, scratch paper, colored pens/pencils, and a few other books. Here are some that will be very helpful to beginners and experienced programmers alike:

Be sure to check out the Magazines section on this website if you do not already have access to these materials.

In this part, we will start with the Basics on a Commodore 64. I will start with the Commodore Assembly Language Development System. I will divide things into steps to illustrate a concept or to familiarize you with a process (or processes) which will facilitate a base to ground yourself. Assembly Language Programming is just like any other programming language. You will build upon your experience and capabilities in steps (or pieces). The learning process depends on your willingness to learn new things and to work out solutions to problems. In fact, this basic principle applies to just about anything. Would you try to bake a cake without knowing what the ingredients are? Or would you be able to manage a nuclear power plant without knowing the fundamentals of physics, math, and engineering?



O.k., enough of that. Let's get to Assembly Language!

So first of all, why Assembly Language? Why not just stick with good 'ol BASIC? To answer these questions, is to understand a little bit more about your computer.

Actually, let's show a small example by demonstrating via a comparison of the two. If you are using a Commodore 64, you will need an Assembly Language package, there are many available, but for our example here, it doesn't have to be anything fancy. I'll use Commodore Assembly Language Development System for most of the work here. Commodore 128 owners can start by using MONITOR.

Since it is likely that both C64 and C128 owners could be reading this, before we get into Assembly code, we need to make sure we place it where it will not cause any trouble. For you C64 owners, the most common place is the the 4K free RAM area starting at $C000 (49152). We might have to change this if your Assembler wants to load here too. In that case, we'll try $CBB8 (52152). C128 owners can use the cassette buffer area at $ After you have found your Assembler (click HERE for a list of available packages), load it and enter the following (C128 users can press F3 or type in MONITOR , then type A ) code.