Path: utzoo!utgpu!watmath!att!tut.cis.ohio-state.edu!cs.utexas.edu!uunet!zephyr.ens.tek.com!tekcrl!tekgvs!toma From: toma@tekgvs.LABS.TEK.COM (Tom Almy) Newsgroups: comp.lang.forth Subject: Re: Implementation dependence Keywords: swizzling implementation Message-ID: <5769@tekgvs.LABS.TEK.COM> Date: 15 Aug 89 20:08:43 GMT References: <4617@sdcc6.ucsd.EDU> <5750@tekgvs.LABS.TEK.COM> <5693@ficc.uu.net> Reply-To: toma@tekgvs.LABS.TEK.COM (Tom Almy) Organization: Tektronix, Inc., Beaverton, OR. Lines: 20 In article <5693@ficc.uu.net> peter@ficc.uu.net (Peter da Silva) writes: >In article <5750@tekgvs.LABS.TEK.COM>, toma@tekgvs.LABS.TEK.COM (Tom Almy) writes: >> Note that correctly implemented Forths for the 68000 >> must go through contortions to do @ and ! when not at a word boundary, but >> this is necessary for portability! > >No they don't, any more than correctly implemented forths for the PDP-11 >do. If you depend on @ and ! working at arbitrary boundaries, then your >program is machine-dependant. If you view Forth as implementing a virtual machine, then the implementation must allow @ and ! at odd addresses. The 83 Standard states that the argument to @ and ! is "addr", where the definition of "addr" is a 16 bit unsigned integer (range 0..65535). So, again, a correctly implemented Forth for the 68000 (or PDP-11) must handle @ and ! at odd addresses to meet the standard. No one said it had to be fast, just portable. Tom Almy toma@tekgvs.labs.tek.com Standard Disclaimers Apply