Decompile XLIBS on Hp50g or PC
|
11-01-2019, 01:11 PM
Post: #1
|
|||
|
|||
Decompile XLIBS on Hp50g or PC
Hi Guys,
Want to decompile some XLIBs for investigation, but have trouble locating information and software to breakdown theses objects on Hp50g or PC. Can you please help. Thanks RPLman. |
|||
11-01-2019, 02:34 PM
Post: #2
|
|||
|
|||
RE: Decompile XLIBS on Hp50g or PC
(11-01-2019 01:11 PM)RPLman Wrote: Hi Guys, Nosy combined with a suitable extable is a nice combination (there are also others). Using those two, just put the command you want to see in a single-element list (eg. { + }) and press the "Nosy" key while showing the library's main menu. You'll see the SysRPL-encoded source with basic formatting, which can also be placed on the stack with the "STO" key if desired. As an example, here's the source of the ListExt library command "LPUSH" when generated using that combination: Code: (LPUSH ROMPTR 58F 2B) |
|||
11-04-2019, 10:20 AM
Post: #3
|
|||
|
|||
RE: Decompile XLIBS on Hp50g or PC
Thanks DavidM, but was looking for general info on XLIB object. I found next to nothing myself. If you or someone can point me towards any article etc on the subject would be greatly appreciated.
|
|||
11-04-2019, 06:15 PM
Post: #4
|
|||
|
|||
RE: Decompile XLIBS on Hp50g or PC
This document has a pretty good description of each object format:
https://www.hpcalc.org/details/1693 Libraries are covered in section 57.9. I think they are the most complicated object by far. As I read that description it's pretty vague. As I recall, a lib contains the objects and lookup structures: - the hash table maps an object name to a command number. - The link table maps a command number to the executable object. - Immediately before the executable object is the name of the command. Thus the library provides a relatively efficient circular map: name -> number number -> object object -> name Dave |
|||
11-04-2019, 11:38 PM
Post: #5
|
|||
|
|||
RE: Decompile XLIBS on Hp50g or PC
(11-04-2019 06:15 PM)David Hayden Wrote: This document has a pretty good description of each object format: On the other hand, if the structure of XLIB objects themselves is all you're looking for, that's covered in section 56.7 and is very simple. For example, the object which is displayed in User RPL as XLIB 12 34 is stored internally as 29E20 C00 220 where the first 5 hex digits are the object header (02E92 backwards), the next three are the library ID, 12 (00C backwards), and the last three are the number of the object in that library, 34 (022 backwards). <0|ΙΈ|0> -Joe- |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 2 Guest(s)