HP-35/45 Simulator for PDP-8

Doug Ingraham dpi at dustyoldcomputers.com
Wed Sep 14 22:59:07 CDT 2016


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


More information about the cctech mailing list