Post Reply 
RPL second impressions (HP 28)
05-28-2022, 09:35 AM
Post: #67
RE: RPL second impressions (HP 28)
(05-27-2022 06:07 PM)Thomas Klemm Wrote:  The program is mostly a list of go-subroutine calls with a little bit of "real" assembler code sprinkled here and there.

To me that looks similar to the SysRPL code.
Entry points start with %% and instead of using assembler to deal with registers, it uses stack shuffling instructions.
Maybe not a surprise as both use the same algorithm.

Yes, it looks a bit similar but with important differences:
- RPL is using the stack for each operation.
- HP-71 assembly uses the CPU registers pairs (A,B), (C,D) for the 1 or 2 arguments of each operation, and two scratch registers formed with registers R0-R3.

The HP-71 also uses a 4-level stack for keeping intermediate values, but it's only for storage, operations are not directly done one the stack.
For more complex algorithms, as encountered in the matrix operations, the HP-71 also uses other temporary memory locations, that must be managed "by hand" by the programmer.
So programming in HP-71 assembly requires to juggle with these limited resources (with many opportunities for bugs), whereas System RPL, with its infinite stack, is much easier to program.

It was the main benefit (and objective I guess) of System RPL, but it has a cost: a significantly slower execution speed. It is particularly visible between the 32S and 42S, the 32S even with its slower 640 kHz CPU is faster than the 42S for many operations.
Although I recognize the benefits of System RPL vs assembly, I prefer to program in assembly for efficiency, in a way not so different from the many people who seem to still prefer programming in RPN/RPL rather than in a clear algebraic language :-)

Quote:I have to admit that I wasn't aware that the complex ACOS function was missing from the original HP-71B Math ROM.
This explains why I never got a response to my request.
I am very happy that I finally got it.
On my side, I missed your article, it would have been useful for me when writing the complex inverse trig functions for the HP-71 !

(05-28-2022 05:38 AM)Didier Lachieze Wrote:  Bill Wickes provided a port of the HP 71 Math Pac PROOT function for the HP 48S/SX which is the same assembly language code with a RPL front end: HP 48 Polynomial Rootfinder
Unfortunately, Bill just provided the binary code , not the source file. PROOT code is still not commented in my "HP-71 Math ROM source file project". It may not be too difficult because the method is properly documented in the HP75/71 Math ROM manuals, so I may do it someday when I will work again on the HP71 Math Pac.

J-F
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RPL second impressions (HP 28) - mdunn - 06-27-2018, 01:19 AM
RE: RPL second impressions (HP 28) - mdunn - 06-27-2018, 01:58 PM
RE: RPL second impressions (HP 28) - mdunn - 06-27-2018, 04:06 PM
RE: RPL second impressions (HP 28) - mdunn - 06-27-2018, 05:11 PM
RE: RPL second impressions (HP 28) - mdunn - 06-27-2018, 07:45 PM
RE: RPL second impressions (HP 28) - mdunn - 06-28-2018, 08:48 PM
RE: RPL second impressions (HP 28) - ttw - 07-04-2018, 10:52 PM
RE: RPL second impressions (HP 28) - J-F Garnier - 05-28-2022 09:35 AM



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