Post Reply 
Carsten's Entries Database tool
03-03-2015, 02:42 PM
Post: #2
RE: Carsten's Entries Database tool
There are many more entries than just PCO vs secondary. There are entries that simply point to another address (still primitive code objects in spirit, though) and entries that simply point to #11111h which is a special handler that looks up a pointer table for the actual code.

Before the HP49, most RPL objects had the following scheme:

Code:
=ENTRYNAME
        CON(5)  =code_address

For PCOs, the address was simply 5 nibbles that followed immediately. For SysRPL objects, the address was something like DOLIST, or DOCODE, etc. All of this had to do with the fact that the RPL loop was called as follows:

Code:
        A=DAT0
        D0=D0+  5
        PC=(A)

This implementation of the RPL loop was necessary in order to have both direct and indirect execution. In the HP49G and latter, when they had less room to make ROM additions and could not move the supported entries, they couldn't necessarily insert a new PCO in place. So instead of just a 5 nibble offset to SASM code, it was simply an address that pointed to SASM code. You then only needed 5 nibbles to create a new entry, and could place the code for that entry elsewhere in ROM, where there was more room. I don't know if the team that developed the RPL system planned it out this way, but it is rather neat that their design made future updates quite manageable.

Graph 3D | QPI | SolveSys
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
Carsten's Entries Database tool - Bruno - 03-03-2015, 10:11 AM
RE: Carsten's Entries Database tool - Han - 03-03-2015 02:42 PM
RE: Carsten's Entries Database tool - Han - 03-04-2015, 09:17 AM
RE: Carsten's Entries Database tool - pdo - 03-04-2015, 10:07 PM



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