Close

V01 Released

A project log for Assembler for SuperconBadge

An Assembler for the Supercon 6 Badge - been done. But *ON* the badge?

michael-mllerMichael Möller 08/24/2023 at 15:450 Comments

V01 working

...and there was rejoicing and dancing in the streets :-)

I have updated all the files with the V01 version, with this log update. (The syntax of the length prefix has changed, otherwise it is just bug fixes, w.r.t. to earlier design thoughts)

This (proto)assembler takes the ASCII string of Hex codes, preceeded by a 4 hex digit count, and returns a valid binary load file. Due to the flow control problem a python program only feeds data when no output is expected.

It is selfassembling in the sense that doing a save of the image, produces the same binary result as the assembler produces when fed it's source text (ie that ASCII hex file)

I will now edit the V01 text file to V02, where I incorporate a minor but essential change, and then hand assemble and generate the ASCII hex file. This is fed to the assembler. It's output is then loaded, thus I am NOT using buttons to enter any code more. The Bootstrap Stage is thus done!

V02 plans (and beyond)

The first change is Whitespace ellimination. This allows the input file to have newline. There is also a need for some restructure, making it line oriented on the input, allowing for comments. The input routine and output routines will become a bit more "robust" (I hope).

The second change (V03) is comments, ie everything after a ";" is ignored until newline. There is a design challenge with empty input lines, how the timing protocol will handle that.

What comes next is undecided: (A) Make the assembly "two pass", ie the current V01 forms the basis of the 2nd pass, and 1st pass takes some text and converts it to the format for the 2nd pass. More work for the same output, but it is a prerequisite before doing labels. (B) Allow some mnemonics; initially a simple "HEX nnn", then add (f.ex.) "RET value", "NOP" (=MOV R8,R8).

OK, ok, lets keep focused on the next step.

Discussions