Path: utzoo!news-server.csri.toronto.edu!cs.utexas.edu!uunet!mcsun!hp4nl!charon!jurjen From: jurjen@cwi.nl (Jurjen NE Bos) Newsgroups: comp.sys.handhelds Subject: Re: Some HP-48 Internals Answers Message-ID: <3063@charon.cwi.nl> Date: 4 Mar 91 09:09:06 GMT References: <13605@life.ai.mit.edu> <27d099e0:2282.1comp.sys.handhelds;1@hpcvbbs.UUCP> <13652@life.ai.mit.edu> Sender: news@cwi.nl Lines: 28 [A discussion on whether 028FC is an address or two instructions CF and 820] Well guys! Stop arguing! You both don't understand it. It is Both! That's the fun of the whole RPL. Look at the two examples: Program Program ... ... 2A2B4 02911 ... ... End End Both programs contain a real. The left program contains a 0, which is on address 2A2B4 in ROM. The right program contains the real directly. Both programs execute the same way, that is that an instruction gets executed by the well-known sequence: MOVE.a (D0),A ADD.a #5,D0 JUMP (A) In the left case, this sequence jumps to the address 2911, executing code that pushes the value 2A2B4 on stack (a pointer to the real). This sequence starts with decrementing D (the free space counter), and does this effective NOP 820. In the right case, the sequence jumps to 28FC, executing code that jumps indirect to the address at 2911-#10, which is 2C28. This code pushes the address of the real on stack, just as the previous case. Understood?