Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!pt.cs.cmu.edu!andrew.cmu.edu!paul+ From: paul+@andrew.cmu.edu (Paul J. Dujmich) Newsgroups: comp.sys.handhelds Subject: HP48 Machine Code Message-ID: Date: 29 May 90 11:43:58 GMT Organization: Computing Systems, Carnegie Mellon, Pittsburgh, PA Lines: 82 From Alonzo Gariepy's HP28-S Machine Code User's Guide: > To use SYSEVAL we follow these four steps. > > 1. Put the code in a known location. > 2. Put the address of this location in another location. > 3. Type in any arguments the program needs. > 4. Type in address of the second location and SYSEVAL > > > 1. The first variable in the HOME directory always goes at > the top of memory, so we'll store the code string there. > Since it is 42 nibbles long the code will begin at #CFFD6 > (#D0000 - 42). > > 2. Now we need to put a copy of the address #CFFD6 somewhere. > It turns out that the most convenient place is right inside > the program just after the return. This will make the > program 6 nibbles longer (HEXIFY pads it to an even 48) so > our address becomes #CFFD0. > > "143132169146132174E7143132144132142164808C0DFFC" HEXIFY > > results in: "A.#a.d1.G~A.#A.#A.F....." ****WORKS OK****** > > So to complete steps 1 and 2 type: > > HOME 'CHT' DUP PURGE STO > > 3. We are changing the program itself to an IMC so we put > these arguments on the stack: > > 'CHT' RCL > #2C96 > > 4. The address #CFFD0 is store just before the padding 0 > at the top of memory, so we type: > > #CFFFA SYSEVAL ****System crash happens here**** > > CHT is magically changed to a System Object. Here are all > the steps summarized as a program. > Wrong!! On my 48, when I follow the above steps, I get the message: "Try to Recover Memory?" Being the hacker that I am, I've seen this message a lot! What am I doing wrong? Do these HP28 procedures even apply to the HP48? I assumed they did since the CPU is the same. I've gone over the above procedures time and time again, only to get the same result. I know I have typed in the ascii-hex string correctly, and added "0DFFC to the end of it. And,it does HEXIFY OK. I end up with a strange looking string on the stack, as mentioned above. I STO it in 'CHT' and RCL the string ok. I put #2C96 on the stack. I put #CFFFA on the stack. When I do the SYSEVAL, the screen displays a strange pattern of bars and I get the message "Try To Recover Memory". Anybody have any ideas?? Paul -------------------------------------------------------------------------- char *disclaimer_1 = "Opinions expressed are NOT those of CARNEGIE MELLON\ University.\n\0"; char *disclaimer_2 = "Opinions expressed are NOT those of The Electrical\ Engineering Dept. of Carnegie Mellon University.\n\0"; char *disclaimer_3 = "Opinions expressed are ALL MINE.....so There!\n\0"; char *good_quote = "\"Life is short and rom is full.\"\n\0"; Paul Dujmich pauld@fs1.ece.cmu.edu 2103 Hammerschlag Hall paul@andrew.cmu.edu Electrical and Computer Engineering Dept. Carnegie Mellon University Forbes Ave, Pittsburgh, PA. 15213 WA3TLD (2 meter packet) ---------------------------------------------------------------------------