More random reorganizing and a lot more toolchain work

Started working on the implementation of jmpe/jmpne, got frustrated that the temporary assembler still doesn’t support two-byte instructions. Fixed this, it now looks at the opcode and figures out which instruction will require a second register-selector byte and handles this properly. Also then finished implementing jmpe/jmpne and their associated unit tests.

While updating the assembler, add8.ab and sub8.ab broke because these were never updated once the two-byte instruction support was added, so I took care of updating these to support this at the same time. The upper-half versions of these are not yet implemented, I ‘roughed them in’ while I was updating the lower half versions so they now have space reserved in the microcode, they just need implementing at some point in the future.

Also once that was done, worked on the toolchain a lot more, I think I’m close to getting the LLVM target to compile now which will be a big milestone. I expect getting it to actually work in a useful way will be a lot more work after that, but one step at a time.