home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / sys / hp48 / 4302 < prev    next >
Encoding:
Text File  |  1992-08-18  |  2.2 KB  |  48 lines

  1. Newsgroups: comp.sys.hp48
  2. Path: sparky!uunet!mcsun!news.funet.fi!funic!nntp.hut.fi!nntp.hut.fi!mheiskan
  3. From: mheiskan@hut.fi (Mika Heiskanen)
  4. Subject: Re: ParOuterLoop'news
  5. In-Reply-To: mheiskan@hut.fi's message of 18 Aug 92 17:09:28
  6. Message-ID: <MHEISKAN.92Aug19015651@vipunen.hut.fi>
  7. Sender: usenet@nntp.hut.fi (Usenet pseudouser id)
  8. Nntp-Posting-Host: vipunen.hut.fi
  9. Reply-To: mheiskan@.vipunen.hut.fi
  10. Organization: Helsinki University of Technology - Finland
  11. References: <1992Aug17.113027.201@cmu.unige.ch> <MHEISKAN.92Aug18170928@vipunen.hut.fi>
  12. Date: 19 Aug 92 01:56:51
  13. Lines: 33
  14.  
  15. In article <MHEISKAN.92Aug18170928@vipunen.hut.fi> mheiskan@hut.fi (Mika Heiskanen) writes:
  16.  
  17. >   >   So, the moral is if you can't do a LASTSTACK after the program has run
  18. >   >   (the calc is stuck), you probably put bad arguments in the stack.
  19. >
  20. >   Ah, but you CAN use the supported SAVESTACK command, which collects the
  21. >   stack (duplicated) to a list and BINDs it to SAVELAM (supported).
  22. >   Then use undo (supported) to get the list exploded. NOTE: undo doesn't ABND
  23. >   since there can be new temporary environments created after SAVESTACK.
  24. >
  25. >   If I recall right, I couldn't find any references in memory to SAVESTACK
  26. >   command, but unfortunately I don't have my calc with me now. I'll do a seek
  27. >   command this evening and make a followup about it. Why? To see if SAVESTACK
  28. >   is used/not used internally and thus not safe/safe to use.
  29.  
  30. Seems that I again wrote something out of the context, and even worse,
  31. bullshit. 
  32.  
  33. Anyway, the reason LASTSTACK may crash after a program may be because
  34. whatever you do at user level, like executing programs, causes SAVESTACK.
  35. SAVESTACK CACHEs the stack to SAVELAM without dropping the arguments.
  36. Thus, if you have one too many ABND in your program, LASTSTACK will try to
  37. undo (Similar to DUMP) SAVELAM, which should result in a crash. The reason
  38. for this is that SAVELAM has a count without # prolog.  Since a normal
  39. entry in a lam usually has a prolog ~ 2000h, LASTSTACK tries to undo ~2000h
  40. nonexistant LAMs. This isn't very healthy. :)
  41.  
  42. Also temporary environment seems to be marked to when you execute
  43. something. Thus too few ABNDs might not be a problem, but I wouldn't bet on
  44. it.
  45.  
  46. --
  47. --> mheiskan@vipunen.hut.fi
  48.