Tiny assembler 6800, version 3.1: Design and implementation of a microprocessor self assembler