On Wed, Sep 14, 2016 at 7:27 AM, Klemens Krause <
krause at 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