Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!unix.cis.pitt.edu!pitt!willett!ForthNet From: ForthNet@willett.pgh.pa.us (ForthNet articles from GEnie) Newsgroups: comp.lang.forth Subject: Memory Management/PIC Message-ID: <2862.UUL1.3#5129@willett.pgh.pa.us> Date: 8 Jun 91 02:20:49 GMT Organization: (n.) to be organized. But that's not important right now. Lines: 30 Date: 06-03-91 (12:21) Number: 99 of 102 (Echo) To: B.RODRIGUEZ2 [BRAD] Refer#: 81 From: RAY DUNCAN Read: NO Subj: MEMORY MANAGEMENT/PIC Status: PUBLIC MESSAGE Conf: FORTH (58) Read Type: GENERAL (+) >word access at odd address is flat-out illegal on the 68000 That's true, but it has to be allowed I think if Forth code is to be portable. In our CP/M-68K Forth systems (long since dead & buried) we took a compromise approach to this that didn't affect performance. We word aligned everything in the Forth system, and had the @ and ! operators use the "obvious" (i.e. word-oriented) MOVE instructions. However, we also captured exceptions that were caused by non-aligned WORD accesses, figured out whether they originated within the @ and ! primitives, and if they did we would then decompose the @ or ! into the appropriate byte-oriented MOVEs and resume execution. This is a straightforward fix in a native Forth system or a Forth running under a dumb environment like CP/M-68K, but it is impractical in more complex environments since a lot of them won't let you handle these sorts of machine exceptions yourself. NET/Mail : LMI Forth Board, Los Angeles, CA (213) 306-3530 <<<>>> ----- This message came from GEnie via willett. You *cannot* reply to the author using e-mail. Please post a follow-up article, or use any instructions the author may have included (USMail addresses, telephone #, etc.). Report problems to: dwp@willett.pgh.pa.us _or_ uunet!willett!dwp