HP-35/45 Simulator for PDP-8
Klemens Krause
krause at informatik.uni-stuttgart.de
Wed Sep 14 08:27:28 CDT 2016
On Tue, 13 Sep 2016, Doug Ingraham wrote:
>
> Not bad but I realized even more was possible.
>
>
> 31 00210 0000 BSWI, .-. /ENTRY POINT
> 32 00211 3174 DCA SAVEAC
> 33 00212 7430 SZL /REMEMBER LINK STATE
> 34 00213 1176 TAD C0100 /PRE ROTATE LINK POSITION
> 35 00214 7100 CLL /NEED THE LINK CLEARED
> 36 00215 1174 TAD SAVEAC /GET 0 XXX XXX YYY YYY
> 37 00216 0175 AND C7700 / 0 XXX XXX 000 000
> 38 00217 1174 TAD SAVEAC / X XXX XX0 YYY YYY
> 39 00220 7006 RTL / X XXX LYY YYY YXX
> 40 00221 7006 RTL / X XLY YYY YYX XXX
> 41 00222 7006 RTL / L YYY YYY XXX XXX
> 42 00223 5610 JMP I BSWI /RETURN
>
> I realized I could add in the link with the first TAD and the result is the
> same so was able to eliminate the DCA SAVEL and
Nice idea, I needed some time to understand whats going on.
Application of the commutativity of addition:
PREROTLINK + XXXXXX + XXXXXX = XXXXXX + XXXXXX + PREROTLINK :-)
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
TAD SAVEAC
AND C7700
TAD SAVEAC
RTL
RTL
RTL
JMP I BSWI
SAVEAC,0
C7700, 7700
Statistically, if 50% link is set, and 50% link is not set both
versions have identical speed, but one constant is eliminated.
> Doug Ingraham
> PDP-8 SN 1175
>
Klemens
PDP-8 SN 768
--
klemens krause
Stuttgarter KompetenzZentrum fyr Minimal- & Retrocomputing.
http://computermuseum.informatik.uni-stuttgart.de
More information about the cctalk
mailing list