Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!mips!spool.mu.edu!snorkelwacker.mit.edu!ai-lab!rice-chex!bson From: bson@rice-chex.ai.mit.edu (Jan Brittenson) Newsgroups: comp.sys.handhelds Subject: Re: M/L Interrupts/Concurrent Routines Keywords: ml, interrupts, concurrent routines Message-ID: <15232@life.ai.mit.edu> Date: 24 Apr 91 07:15:47 GMT References: <28106e62: 2851comp.sys.handhelds@hpcvbbs.UUCP> <1991Apr23.115645.9250@corpane.uucp> Sender: news@ai.mit.edu Organization: nil Lines: 33 In a posting of [23 Apr 91 11:56:45 GMT] herman@corpane.uucp (Harry Herman) writes: > In <28106e62:2851comp.sys.handhelds@hpcvbbs.UUCP> akcs.scotty@hpcvbbs.UUCP (SCOTTY THOMPSON) writes: >> I would be very interested in being able to have interrupt-driven >> subroutines > Are you sure you can do this? I thought all objects in HP48 memory > were subject to being shifted to new addresses whenever garbage > collection occured. Actually, allocating memory that's not reclaimable by GC is not difficult. A program can allocate such a chunk of memory and copy itself into it, and when it decides it's time to terminate, it can copy itself back to reclaimable space and finish off by deallocating the non-reclaimable space. The stack-menu-PICT GROBs are examples of objects not in the reclaimable space, which can be thought of as an extension of the static system data. It resides between the system variables in low memory and the dynamic memory where commonly allocated object types (numbers, strings, arrays, lists, etc) go. (Other object types, such as programs and directories, which are much less commonly allocated, appear to go at the top of memory, above the stack, with the HOME directory at the absolute top.) The part appearing less trivial is that of intercepting interrupts. They all seem to vector to location #0000F, regardless of origin, which determined in software by the interrupt handler. It doesn't vector via RAM, so unless there is a vector somewhere in the I/O page, I doubt interrupt-driven programs can be written at all on the HP-48. -- Jan Brittenson bson@ai.mit.edu