Worked on sub8.ab some more, it now works and passes all its unit tests. Also wrote some extra tests for this, to be more confident in its workingness.
Next step will be to finally finish CALL and RETURN. I started working on this a bit, but realized that since CALL takes 2 immediate bytes currently and pushes its own address, RETURN returns into the middle of it. CALL should probably push the return address, not its own address. Added realistic propagation delays for the clag4, added simplified worst-case propagation delays to the alu4 and a bunch of tests start failing. Backed those ones out for now, will finish implementing CALL/RETURN then go back and finish the delay/timing work.