(Reply) Author: [Rick Grevelle] Date: Mon Jun 24 1991 10:53 Lines: 50 Your explanation of the RAM cache #707D9h is correct. If you're into machine language programming, you'll find that the ADDR routine in the HACKIT library utilizes this cache to determine the location of XLIBs taken as arguments. Single stepping the code object that utilizes the cache would be an excellent example for the application of Jan's MLDL library. First it will be necessary to extract the code object from ADDR. This is easily done using the ->XLIB, and RCLIB commands also from HACKIT. Next use the OUT-> command to decompose the RPL object in order for the code object to be seperated. Here's how it looks: o Build the XLIB object ADDR. _________________________ _________________________ |{HOME} | |{HOME} | |-----------------------| |-----------------------| |4: | |4: | |3: | |3: | |2: 1214| |2: | |1: 12| |1: ADDR| |### ### ### ### ### ###| |### ### ### ### ### ###| ------------------------- ------------------------- 1) Enter the reals 1214, and 2) Implement ->XLIB to obtain 12 in leves one, and two. the ADDR command on the stack. o Recall the XLIB's contents. _________________________ _________________________ |{HOME} | |{HOME} | |-----------------------| |-----------------------| |1: External External | |4: External| | External Code | |3: External <1h> Exte..| | External External | |2: External| | Code External | |1: 11| |### ### ### ### ### ###| |### ### ### ### ### ###| ------------------------- ------------------------- 1) Recall the contents of ADDR 2) Extract the code object from to the stack using RCLIB. the RPL object using OUT->. The code object of interest will now be in level six. By placing any XLIB of your choice in level two, and the code object from level six in level one, the MLDB function from the MLDL library will step through each instruction of the code object, illustrating just how the data cached at #707D9h is used. Rick Grevelle [Note: #707D9h is called 'ROMPTAB' (ROM Pointer TABle, I suppose) by HP in the official list of supported entry points; see Goodies Disk #4. But the accompanying documentation does not mention it. -jkh-]