c p u ville logo
Donn Stewart
13917 Deviar Dr
Centreville, VA 20120
dstew@cpuville.com

Designing, Building, and Selling Obsolete Computers -- for Educational Purposes -- since 2004

c p u ville logo menu icon

8-bit Processor Programming

I have been using the Telemark table assembler to create programs for the 8-bit processor. This assembler uses tables to define the assembly language to machine code translation for a variety of processors. Creating a table for the 8-bit processor was easy. Here is the table:

TASM assembler table for 8-bit processor

Each line gives the assembly language mnemonic, followed an operand. A "*" designates an operand expression that can be evaluated by the assembler, either a byte or a 16-bit address for the instructions here. A double quote indicates no operand. The next column has the hex opcode. The next column has a number indicating how many bytes the final machine code instruction will have. The other columns have values that allow for some operations on the expression to create the final machine code, but none are required for this small instruction set.

I run TASM in DOSBox on a Windows PC. I named the table file tasm08.tab, so the assembler is invoked by the command

tasm -08 program.asm

If there are no errors, the assembler creates a program listing, and an object file. By default the object file is an Intel Hex file, but it can also produce a plain binary file. Here is the list file for the test programs I used to test the processor. The programs include simple counters and a port reflector, a highest-factor program, a test program for a serial interface, and a program loader that takes hex character input from the serial port, converts the input to binary bytes, and places the bytes in RAM. A carriage return causes a jump to the program in RAM.

I have also written a system monitor program that allows a user to view and alter RAM, and load binary files into the 8-bit processor computer. Here is a demo video:

Here is the list file for the system monitor.

See the 8-bit processor Code Page for more details.


8-bit processor links:

menu icon