Post Reply 
[HP48] Memory Management
10-27-2014, 10:12 AM
Post: #4
RE: [HP48] Memory Management
Thanks for your very accurate answers Smile

David: Yes, 'builtin ROM routines' mean SysRPL/ASM entry points, not User RPL.
Thank to explained the 3 ways to handle objects, this is much clear for me now !

Claudio: Wow, this is very interesting, indeed this is the 'easiest' way to expand an object in UOA, but as you say, also risky.
I want to measure the trade off, so I've studied a little bit the RRP structure this weekend, and if I'm right,
I can summarize your method in these few steps:
  1. Move destination object 'A' at the end (in memory) of the current directory.
  2. Create EXTRA variable of size: (object to insert in 'A') - (2.5 bytes of 'A' offset field) - ('EXTRA' Name Length) - (2*1 bytes of EXTRA name length fields)
    • Q -> Why the HP48 need the name length field to be present before AND after the name field ???
    • This is also true for Backup and Library objects. Curious...
  3. (3 or 4?)- Now 'EXTRA' is after 'A' in memory, and is the last variable of the current directory.
    • So, we need to update the last RRP's offset field (after 'EXTRA' variable) to skip 'EXTRA' and point directly to 'A'
    • Thus, 'A' became again the last variable of the current directory. 'EXTRA' becoming a ghost variable.
  4. (4 or 3?)- Expand 'A' to "engluf" 'EXTRA' and insert the new object in 'A'

That's All ?

Find all posts by this user
Quote this message in a reply
Post Reply 

Messages In This Thread
[HP48] Memory Management - Bruno - 10-24-2014, 12:34 PM
RE: [HP48] Memory Management - Claudio L. - 10-24-2014, 04:48 PM
RE: [HP48] Memory Management - Bruno - 10-27-2014 10:12 AM
RE: [HP48] Memory Management - Claudio L. - 10-27-2014, 12:04 PM
RE: [HP48] Memory Management - Paul Dale - 10-27-2014, 10:18 AM
RE: [HP48] Memory Management - Bruno - 10-27-2014, 01:15 PM
RE: [HP48] Memory Management - Han - 10-27-2014, 10:08 PM
RE: [HP48] Memory Management - Bruno - 10-29-2014, 10:15 PM

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