Close

Assembler

A project log for ED-64: A discrete 8-bit computer

ED-64 will be an 8-bit computer built with discrete components, and will feature a ferrite core memory (documented as a separate project).

Andrew Starr 08/12/2016 at 23:110 Comments

I now have a functional assembler for writing T-1 code (in order to generate wiring patterns It supports macros, which will help a lot, given my restricted instruction set. It is based on the AS macroassembler by Alfred Arnold. It is a crossassembler that supports many processor families. Arnold includes straightforward instructions in the manual for adding new processors, which I have followed to add T-1 support. Here's an extract of the list output for some simple looping code:

       1/       0 :         cpu t1
       2/       0 :                     
       3/       0 : =0xA    counter	equ	10
       4/       0 :                     
       5/       0 : 000A                push	counter
       6/       1 : 0304    loop1:	dec
       7/       2 : 0309                skz
       8/       3 : 0101                jump	loop1
       9/       4 :         loop2:
      10/       4 : 0104                jump	loop2
      11/       5 :                     

I am currently working on an instruction set simulator, which will run an on arduino mega 2650 board (the same board I use to test logic modules after I make them). The arduino will take the assembler output and simulate execution, allowing me to test the program functionality, inspect stack and memory contents etc - before I commit to handwiring a ROM board!

Discussions