|Re: Merged Steps?|
Message #28 Posted by Andrés C. Rodríguez (Argentina) on 1 Aug 2011, 3:55 p.m.,
in response to message #1 by Tim Wessman
Merged steps were introduced in the HP-25, IIRC. Around November 1975, HP published a 2-page ad in Popular Electronics magazine (that's the one I had, perhaps there were other similar in other magazines) in which the HP-25 was introduced. The HP-25 was shown as a new programmable, with the HP-65 and HP-55 behind it in the main photo.
The HP 25 has only 49 program steps, but introduced what was then called "key phrases", meaning something similar to the "merged steps" of our time. As the possible commands were less than 256, each operation used just one byte, but this was not the main concern. Nobody was counting bytes, but we were surely counting the very scarce steps (or program lines).
I never had a 65 or 55, so this is not from direct experience, but I understand that a command like "GTO 33", "FIX 9" or "STO + 5" needed more than one program line (or step) on those models. In the HP 25, such operations take just one program step each.
The display showed the program line number on the left side and up to three keycodes (row and column, except for digits). For instance, if program step # 18 contains "GTO 10", the diaplay will show "18 13 10".
It's interesting to see how the available 256 opcodes were assigned to the possible operations on the HP-25.
50 GO TO (GTO 00 was a special case)
02 >Rect & >Polar
02 square and square root
02 1/x and %
02 INT and FRAC
03 Sigma +,- and clear sums
02 Mean and Sdev
04 Basic Math
32 STO arithmetic
03 Programming (STOP, PAUSE and NOP)
07 Stack & registers (Enter, x<>y, Roll Down, CLx, CHS, EEX, LASTx)
02 Clear Stack and Clear Regs
01 Decimal point
02 HMS and HR
03 Angular modes (DEG, RAD, GRAD)
194 in total.
Such an arrangement leaves some opcode space free, which was put to use on the HP-29, but with many differences. For instance, having more registers and 98 program steps would not permit keeping the same scheme. Label addressing (instead of step number addressing) and secondary registers were some of the measures taken to keep opcode space. On the HP 67, the usage of register bank switching via the "P<>S" operation, and the separation of display mode and number-of-digits choice also were measures to keep opcode space (DSP 0-9 and FIX-SCI-END consumed only 13 opcodes, instead of the 30 needed before).
Disclaimer: These data are just from my memory as I'm writing this answer, and are believed to be true; but I'm not doing research to fully support them, so there may be some inaccuracies. Detailed and precise information about opcodes in those old models are to be found in Eric Smith's works and also in articles in his web site.