Post Reply 
Which calculators had no known bugs?
08-06-2017, 10:31 AM
Post: #25
RE: Which calculators had no known bugs?
(08-06-2017 05:40 AM)Joe Horn Wrote:  
(08-05-2017 11:07 PM)Geir Isene Wrote:  I'm interested in this one:

HP-65
(a) Lampman Split Logic. More of an unintended feature than a bug; it allows three-way branching by splitting the shift away from shifted functions. Discovered by and named after Dean Lampman.

How does that work?

An example is worth a thousand words. Here's a "split logic" three-way branch:

1. 0
2. g X<>Y
3. GTO
4. g X≠Y
5. g X>Y
6. 3
7. 2
8. 1

This routine is equivalent to the following pseudo-code:

IF X>Y THEN GTO 3
IF X<Y THEN GTO 1
IF X=Y THEN GTO 2

Remember, the HP-65 skips TWO steps if the test is false.

What "Lampman Split Logic" does is insert one or more logical comparisons between a command prefix (e.g. GTO or STO) and its argument. It worked for all the commands (except RTN and SST) on rows 2 and 3 of the HP-65 keyboard. It therefore allowed not only short three-way branching, but also short three-way storing, and any number of combinations of functions (e.g. perform a SIN or COS depending on the result of a test) with minimal program steps.

The original write-up can be found in 65 Notes, V2 N1 P7-8 (January 1975).
I understand the cases where X>Y and X<Y but how does X=Y work? The way I see it, the execution would be step 1, 2, then, since g X<>Y is false, step 5 is next then, since g X>Y is false, step 8 is next just putting a 1 in the display and not going anywhere. What have I misunderstood?

Tom L
Cui bono?
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread



User(s) browsing this thread: 1 Guest(s)