Prev: HP42s manual
Next: KEY Command HP 49G+
From: Andreas Möller on 5 Jul 2010 11:57 Hello, you can actually use the ROMPTR, which is faster and smaller ;-) (Note that you should use the DEFINE construct for making the code more readable.) :: ' ROMPTR 102 0 ROMPTR@ ITE EVAL :: "Extable library not found!" FlashWarning ; ; And by the way: case (or NOTcase) instead of ITE is often faster and smaller ;-) Regards, Andreas http://www.software49g.gmxhome.de
From: John H Meyers on 5 Jul 2010 16:01
Simplest of all, ROMPTR 102 0 (or any library and function) can also be used directly, anywhere in a program. A system-reported error will occur if the library or function can not be found; however, the system error message will always be "Undefined XLIB Name" (without identifying which library). To find the library and function numbers for any library, you might place all the visible functions into a list, e.g.: { nop GETADR GETNAME GETNAMES GETNEAR } If you have the "Nosy" library installed, you can use Nosy on this list to find the numbers; otherwise you can use \->H to get: 47A20 (start of list) 29E20 201 000 (ROMPTR 102 0 is nop) 29E20 201 100 (ROMPTR 102 1 is GETADR) 29E20 201 200 (ROMPTR 102 2 is GETNAME) 29E20 201 300 (ROMPTR 102 3 is GETNAMES) 29E20 201 400 (ROMPTR 102 4 is GETNEAR) B2130 (end of list) The onboard SysRPL compiler can also use the function names directly, e.g. xGETNAME (compiles as ROMPTR 102 2) In most libraries the visible functions will have sequential numbers, starting with zero, and the (decimal) library number is seen when the library is recalled to the stack, e.g.: Library 258: extable [r->] [OFF] |