On Wed, Sep 14, 2016 at 7:27 AM, Klemens Krause < kra...@informatik.uni-stuttgart.de> wrote:
> > I found the next simplification: > > BSWI, 0 > DCA SAVEAC > RTR / MOVE LINK TO THE PREROTATE POSITION > RTR / ELIMINATE C0100 > RTR / LINK IS CLEARED BECAUSE AC WAS 0 AFTER DCA > I had been looking at this section as the last piece of clumsy coding. Your solution is simplicity itself! My ideas were all more complicated and worse than the original. I actually have the three RTR in a note but it was with a SNL and a JMP .+4 around them. I didn't stop to think that I didn't need the test at all. Another idea was to create the constant 0100 so I didn't have to make a constant for it. CLA CLL CML RTR;RTR;RTR. I don't have to explain why I discarded it. Anyway, Great work! I doubt this can be made shorter, but I would really like to be proved wrong. Of course this code is obfuscated to the point that without the comments it would be difficult to understand what it was supposed to do. I recently keyboarded the Maindec that is the part 1 test for the EAE. The guy who coded it appeared to not like doing DCA XXX TAD YYY to take advantage of the fact that the AC is zero. Instead he would do this to load a value into the AC DCA XXX CMA AND YYY This of course does not ever try to touch the Link and so that might have been the goal although the TAD with Zero AC should never mess with the Link either. I found reading this code to be tedious and I want to rewrite the diagnostic in a more sensible manner. This guy had some other really strange coding practices. > -- > > klemens krause > Stuttgarter KompetenzZentrum fyr Minimal- & Retrocomputing. > http://computermuseum.informatik.uni-stuttgart.de > > -- Doug Ingraham PDP-8 SN 1175