Differences between the hp67 emulator and a real Hewlett-Packard HP-67.


The calculator has exactly four stack elements, the emulator has a
variable number, the number of values pushed on the stack. This has an
impact on the roll-up and roll-down operators.


The calculator has 26 memory elements, not all of which are accessible
with all memory functions (for instance, sto+ does not work on the
alphabetic memory elements). The emulator has an effectively unlimited
number of memory elements.


The calculator is limited to 10 digits of display with exponents less
than 100. The emulator is limited to 14 digits and exponents less than
approximately 308.


The calculator has memory elements addressable only by numbers, and by
the keys A, B, C, D, and E. The emulator has arbitrary memory
labeling.


The calculator has a return stack only two levels deep, a program can
call a subroutine which can call a subroutine, but that's the deepest
you are allowed to go. The emulator has no limit on return stack
depth.


The calculator has two clear-on-test flags, the emulator's flags can
be made clear-on-test whenever desired. The calculator has one flag
(F3) which is set on data input. This flag has no analog in the
emulator.


The calculator has 224 program steps, and scalar constants use one
program step for each keypress required to produce them. The emulator
has an effectively unlimited program space, and scalar constants use
only one step.


The calculator achieves approximately 6.5 floating point operations
per second. The emulator manages more than 10000 floating point
operations per second on a PPro 200 running Linux.


On the calculator, entering the sequence "1 ENTER 2 ENTER +" results
in a value of four, as the second ENTER duplicates the 2 in the Y
register. In the emulator, ENTER completes a number, and this sequence
results in a value of three.

