Assembly


Stopwatch Program for the Southern Cross

Introduction to my Stopwatch Program for the Southern Cross (Z80) My Stopwatch Program for the Southern Cross is a very simple program. In reality, it’s just one step above a “Hello World” program. Once you get your Southern Cross Computer up and running, you will want to continue learning. For Read More »

Stopwatch Program for the Southern Cross

COSMAC 1802 I/O Operations

Introduction to COSMAC 1802 I/O Operations COSMAC 1802 I/O Operations allow us to get data from an input port, and write data to an output port. In this case, I’m using the 1802 membership card. On the 1802 Membership Card, we use Port 4 for both the switches and the Read More »

COSMAC 1802 I/O Operations

Assembly Programming Tips

Introduction to Assembly Programming Tips In this section, I’m compiling a list of Assembly Programming Tips. Mainly, this is for manipulating data in assembly language. Most of these methods will work with any processor. It’s important to realize, though, that you might have special instructions in some processors that handle Read More »

Assembly Programming Tips

Hello World in Modern Assembly

Creating Hello World in Modern Assembly To create Hello World in Modern Assembly (x86 / x64) we’ll need to have an assembler installed. In this case, I’m using the GNU Assembler (GAS). I’ll set this up in Debian Linux. This assembler is in the “build-essential” package. We’ll walk through the Read More »

Hello World in Modern Assembly

Assembly Registers and Compatibility Modes

Introduction to Assembly Registers and Compatibility Modes Before we begin to program, we need to understand Assembly Registers and Compatibility Modes. In this case, we’ll discuss Assembly Language with the x86 / x64 processors. Assembly is a low level language that allows you to write machine code without the need Read More »

Assembly Registers and Compatibility Modes

Simple CP/M Console Program

Introduction to writing a Simple CP/M Console Program Writing a Simple CP/M Console Program will get you started with Z80 Assembly under CP/M. We’ll just put together a simple program that asks what your name is, then print that name back to your terminal. The purpose of this exercise is Read More »

Simple CP/M Console Program

PAL-1 6502 Computer

Introduction to the PAL-1 6502 Computer The PAL-1 6502 Computer is a clone of the KIM-1 Computer. In fact, most programs that will run on the KIM-1 will run on the PAL-1. I recently purchased this kit from Tindie. You can find the manuals here. This kit takes a day Read More »

PAL-1 6502 Computer

Kenbak-1 Two Byte Addition

Introduction to Kenbak-1 Two Byte Addition With the Kenbak-1 Two Byte Addition, we can add larger numbers. Keep in mind that with 8 bit addition, we can only have numbers up to 377 octal (255 decimal). That’s if we don’t even used signed values. This is very limiting. When we Read More »

Kenbak-1 Two Byte Addition

Programming Loops on the Kenbak-1

Introduction to Programming Loops on the Kenbak-1 When Programming Loops on the Kenbak-1, we will use the JPD instruction. Basically, we set a register to a specific value. For this example, we’ll use the X register. Every time our loop executes, we decrement the X register. When the X register Read More »

Kenbak-1 building loops

KIM-1 (UNO) 6502 ScoreBoard

Introduction to the KIM-1 (UNO) 6502 ScoreBoard In this section, we’ll build a KIM-1 (UNO) 6502 ScoreBoard. Basically, you will have the visitor score on the left, and the home score on the right. I’m separating the two displays with the letters “EF” in the center display. (Enemies on left, Read More »

Kim-1 Scoreboard Program