I'm still waiting on a port extender hat for my Pi 4 so I have had a lot of time to work on the KENBAK-2/5 software. I started with the Assembler based on the outline that I posed in the previous log. It is written in Python using Tkinter for the UI with no external libraries. You can find this early version of the program in the GitHub link associated with this project.
This stand alone Assembler component will eventually be incorporated into a simple IDE for the KENBAK-1.
Here is a short video of the Assembler in action.
And a screen shot of the Assembler with the Fibonacci program loaded.
Here we can see:
- labels and labels with offsets (+1, +2)
- pre-defined memory locations (OUTPUT, OCA)
- direct and indexed addressing modes
With the Assembler done I wrote a number of small programs to exercise the various op codes and addressing modes. These I verified by manually checking the byte codes produced against the documentation in the KENBAK-1 Programming Reference Manual. This is pretty tedious work so I was anxious to get on with the next step, an Emulator.